Skip to content

Instantly share code, notes, and snippets.

@maximal
Created June 4, 2020 09:29
Show Gist options
  • Save maximal/c54da93fc4b5194b1552ea7c0875b025 to your computer and use it in GitHub Desktop.
Save maximal/c54da93fc4b5194b1552ea7c0875b025 to your computer and use it in GitHub Desktop.
Пакетное удаление сообщений ВКонтакте
// Сколько ждать после нажатия крестика удаления, миллисекунды
const MS_DELAY_AFTER_DELETE_CLICK = 1000;
// Сколько ждать после нажатия кнопки подтверждения удаления, миллисекунды
const MS_DELAY_AFTER_DELETE_CONFIRM = 500;
// Можно эти переменные изменить: поэкспериментируйте в зависимости от скорости страницы.
// Чем быстрее загружаются сообщения работает удаление, тем меньше можно поставить.
let messagesDeleted = 0;
let running = false;
function deleteDialog() {
if (running) {
// Если уже запущено, не запускаем второй раз
return;
}
running = true;
const buttons = document.querySelectorAll('.nim-dialog--close');
console.info('Messages shown: ' + buttons.length);
const button = buttons[2];
//console.log(button);
// Нажать на кнопку удаления
button && button.click();
setTimeout(function () {
// Если появилось подтверждение удаления, нажать и его
const delBtns = document.querySelectorAll('.popup_box_container td:nth-child(2) .flat_button');
delBtns.forEach(function (btn) { btn.click(); });
setTimeout(function () {
running = false;
deleteDialog();
}, MS_DELAY_AFTER_DELETE_CONFIRM);
messagesDeleted++;
console.info('Messages deleted: ' + messagesDeleted);
}, MS_DELAY_AFTER_DELETE_CLICK);
// Проскроллить до конца страницы, чтобы подгрузить ещё сообщения
if (buttons.length < 50) {
window.scrollTo(0, document.body.scrollHeight);
}
}
deleteDialog();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment