ВКонтакте - как быстро и автоматически удалить все записи своей стены

ВКонтакте - как быстро и автоматически удалить все записи своей стены


При помощи этого примитивного кода на JavaScript вы сможете за несколько минут полностью почистить свою стену от абсолютно всех записей. Скрипт выполняется в клиентском браузере (т.е. у вас) и вместо вас нажимает на кнопку удаления поста.

Как это работает



Любой сайт открытый в браузере называется DOM (Document Object Model) и представляет из себя набор ссылок, блоков, цветов и прочих технических или дизайнерских решений. Одним из таких элементов является кнопка удаления поста.

Команда на удаление выполняется на удаленном сервере (ВКонтакте), а ее запуск — на клиенте (из нашего браузера). Так почему бы не автоматизировать данное действие имея специальный язык, который создан для работы с DOM.

Первым делом



Для начала нужно найти все эти кнопки и как-то с ними дальше работать. Идеальным, если не единственным решением для JS является поиск и занесение всех интересующих нас элементов в массив и далее, при помощи цикла FOR, обход данного массива и выполнение команды нажатия на кнопку!

Технические подробности



Методом изучения исходного кода удалось (ничего сложного в этом нет) найти CSS-селектор, отвечающий за вызов команды удаления

a.ui_actions_menu_item


Теперь дело за малым. Объявляем переменную и вызываем метод поиск всех селекторов а странице, которые сразу же записываются в массив. Далее выполняем цикл, конечным значением которого будет количество всех кнопок в ранее найденном массиве.

На каждой итерации (шаг, работающий с каждым элементом индивидуально) выполняем событие — клик.

ВКонтакте - как быстро и автоматически удалить все записи своей стены


(function () {
  
  'use strict'; 
  
  if (!confirm('Удалить все записи со стены?')) 
    return; 
  
//собрать три следующие строки в одну
//если результат будет undefined - убрать в строке ниже var
  var deletePostLink = document.body.querySelectorAll(
     'a.ui_actions_menu_item[onclick^="wall.deletePost"]'
  ); 
  
  for (var i = 0; i < deletePostLink.length; i++) {
    deletePostLink[i].click(); 
  } 
  
  alert(deletePostLink.length + ' posts deleted'); 
}());


Выполнение кода



На странице вашего профиля нажимаем в любом браузере Ctrl+Shift+I и переходим на вкладку Console. Вставляем в консоль представленный выше и нажимаем Enter.

ВКонтакте - как быстро и автоматически удалить все записи своей стены


В консольном режиме может не сработать приставка var, обозначающая объявление переменной. В блоке с кодом выше указано, что делать в таком случае.

Нюансы



Поскольку VK использует технологию подгрузки постов по мере прокрутки страницы (AJAX), то, как вы можете видеть на скриншоте выше из более, чем ста моих записей, нашлось всего 11.

Данная проблема решается прогрузкой страницы вниз. Зажимаем кнопку Page Down, что над курсорами и спускаемся на нужную глубину. Если этого не сделать, страшного ничего не случится, просто придется повторять такой трюк несколько раз, а в моем случае — 100 / 11 ~ 9 раз :)


Понравилась статья "ВКонтакте - как быстро и автоматически удалить все записи своей стены" из раздела Веб разработка » JavaScript? Подпишись на RSS. Будь в курсе всего происходящего на сайте
Комментариев: 0 •  Просмотров: 1157   Дата: 11-мар-2017, 08:20

Похожие статьи

Комментарии

b
i
u
s
|
left
center
right
|
emo
color
|
hide
quote
translit

© 2010-2017 devarts.pro v 7.0: flexyflat tpl Designed by devarts
Карта сайта HTMLКарта сайта XMLПравообладателям
Яндекс.Метрика