Есть такой скрипт
// для очистки друзей Вконтакте
for (let i = 0; i < 5; i++) {
window.scrollTo(0, document.body.scrollHeight);
await new Promise(r => setTimeout(r, 500));
}
document.body.querySelector('.js-show-more').click();
for (let i = 0; i < 5; i++) {
window.scrollTo(0, document.body.scrollHeight);
await new Promise(r => setTimeout(r, 500));
}
let banList = document.getElementById('hook_Loader_GroupMembersPagingBlockLoader').getElementsByClassName('lstp-t');
let avatars = [];
let event = new Event('mouseenter', {
'view': window,
'bubbles': false,
'cancelable': true
});
for (let i = 0; i < banList.length; i++) {
if (banList[i].parentNode.parentNode.querySelector('div.user-grid-card_img')) {
avatars.push(banList[i]);
}
}
for (let i = 0; i < avatars.length; i++) {
banList[i].scrollIntoView();
banList[i].parentNode.parentNode.querySelector('div.user-grid-card_img').dispatchEvent(event);
await new Promise(r => setTimeout(r, 500));
document.body.querySelector('#hook_Block_ShortcutMenu .u-menu_a').click();
await new Promise(r => setTimeout(r, 500));
document.body.querySelector('.modal-new_cnt .form-actions_yes').click();
await new Promise(r => setTimeout(r, 500));
window.scrollTo(0, document.body.scrollHeight);
await new Promise(r => setTimeout(r, 500));
document.body.querySelector('.js-show-more').click();
window.scrollTo(0, document.body.scrollHeight);
await new Promise(r => setTimeout(r, 1000));
banList[i].scrollIntoView();
await new Promise(r => setTimeout(r, 500));
console.log("delete",i+1);
}
Он отрабатывает один раз, а на второй раз выдаёт ошибку на шаге document.body.querySelector('#hook_Block_ShortcutM enu .u-menu_a').click();
Я не сильно разбираюсь в JS, хочу понять возможно ли это вообще осуществить через скрипт в консоли и может ли кто-то это доработать за вознаграждение?