Skip to content

Instantly share code, notes, and snippets.

@arterm-sedov
Last active March 31, 2024 11:34
Show Gist options
  • Save arterm-sedov/6ddab675c642b57247ce216b74800dc7 to your computer and use it in GitHub Desktop.
Save arterm-sedov/6ddab675c642b57247ce216b74800dc7 to your computer and use it in GitHub Desktop.
A script to remove all posts from your ok.ru wall
(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);
}());
@arterm-sedov
Copy link
Author

arterm-sedov commented Apr 28, 2021

Первоначально я составил статью со скриншотами на Яндекс.Дзене, но там ее никто не читал https://zen.yandex.ru/media/id/5d0f9dc39952cd00b07c3ca3/kak-udalit-odnovremenno-vse-zametki-so-steny-v-odnoklassnikah-5d0f9ddf70bf2a00b031b05a

Как удалить одновременно все заметки со стены в Одноклассниках

  1. Перейдите на свою страницу «Одноклассники» и откройте раздел «Заметки».
  2. Прокрутите страницу, нажимая кнопку «Показать еще», по возможности до самой первой заметки. Будут удалены только отображающиеся заметки.
  3. Откройте консоль браузера
    В Chrome нажмите Ctrl + Shift + J (Windows) или Cmd + Opt + J (macOS). В Firefox: Ctrl + Shift + K (Windows) и Cmd + Opt + K (macOS).
  4. Скопируйте приведенный ниже скрипт, вставьте его в консоль и нажмите Enter:
(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); }());

скриншот консоли

  1. Скрипт запросит подтвердить удаление заметок (событий), нажмите кнопку «ОК»:
    скриншот запроса подтверждения
  2. Скрипт удалит отображающиеся в данный момент заметки (события) и покажет количество удаленных записей:
    скриншот результата

@d2boy
Copy link

d2boy commented Feb 14, 2024

Код у ОК сменился, использовал другой скрипт

`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();
}`

@arterm-sedov
Copy link
Author

Спасибо, может, кому-то новый рецепт пригодится

@goglik2
Copy link

goglik2 commented Mar 31, 2024

код не работает если есть темы от других авторов, которые уже не являются модераторами группы, если получится исправить скину

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment