Javascript-форум (https://javascript.ru/forum/)
-   Работа (https://javascript.ru/forum/job/)
-   -   Исправить скрипт для удаления забаненных участников группы в ОК (https://javascript.ru/forum/job/85834-ispravit-skript-dlya-udaleniya-zabanennykh-uchastnikov-gruppy-v-ok.html)

kus44kus 04.04.2024 12:46

Исправить скрипт для удаления забаненных участников группы в ОК
 
Есть такой скрипт

// для очистки друзей Вконтакте

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, хочу понять возможно ли это вообще осуществить через скрипт в консоли и может ли кто-то это доработать за вознаграждение?


Часовой пояс GMT +3, время: 07:29.