Skip to content

Instantly share code, notes, and snippets.

@d2boy
Forked from arterm-sedov/ok_remove_all_posts.js
Last active February 14, 2024 08:36
Show Gist options
  • Save d2boy/a6d1c68d8a3165dbd530057cbb7158ef to your computer and use it in GitHub Desktop.
Save d2boy/a6d1c68d8a3165dbd530057cbb7158ef to your computer and use it in GitHub Desktop.
A script to remove all posts from your ok.ru wall
async function deleteOkPosts() {
// Получаем элемент при наведении на который появляется блок с "удалить"
let selectPostLink = document.body.querySelectorAll('.feed_menu_ic');
for (var i = 0; i < selectPostLink.length; i++) {
// Создаем событие наведения на элемент
var event = new Event('mouseenter', {
'view': window,
'bubbles': true,
'cancelable': true
});
// Добавляем событие (Имитируем наведение курсора на элемент)
selectPostLink[i].dispatchEvent(event);
// Ждем секунд, чтобы сработали скрипты ОК
await new Promise(r => setTimeout(r, 1000));
// Получаем элемент Удалить (в этом году 3 элемент)
let deleteElement = document.body.querySelectorAll('#hook_Block_ShortcutMenu .u-menu_li a')[3];
// Если элемента Удалить нет, то подождем 2 секунд (чтобы все еще подгрузилось) и пропустим эту итерацию цикла
if (deleteElement == undefined) {
await new Promise(r => setTimeout(r, 2000));
console.log("Пропуск " + [i]);
continue;
} else { // Если элемент есть, то имитируем клик по нему
console.log([i] +" - " + deleteElement);
deleteElement.click();
}
}
console.log(selectPostLink.length + ' posts deleted');
};
if (confirm("Удалить темы?")){
deleteOkPosts();
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment