Last active
March 31, 2024 11:34
-
-
Save arterm-sedov/6ddab675c642b57247ce216b74800dc7 to your computer and use it in GitHub Desktop.
A script to remove all posts from your ok.ru wall
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
(function () | |
{ | |
'use strict'; | |
if (!confirm('Удалить все заметки со стены?')) return; | |
var deletePostLink = document.body.querySelectorAll('a.delete-stub_cancel'); | |
for (var i = 0; i < deletePostLink.length; i++) | |
{ | |
deletePostLink[i].click(); | |
} | |
alert( 'удалено записей:'+deletePostLink.length); | |
}()); | |
Спасибо, может, кому-то новый рецепт пригодится
код не работает если есть темы от других авторов, которые уже не являются модераторами группы, если получится исправить скину
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Код у ОК сменился, использовал другой скрипт
`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));
// Получаем элемент Удалить
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();
}`