Показать сообщение отдельно
  #2 (permalink)  
Старый 01.02.2021, 11:11
Аватар для voraa
Профессор
Отправить личное сообщение для voraa Посмотреть профиль Найти все сообщения от voraa
 
Регистрация: 03.02.2020
Сообщений: 2,745

Что то вроде такого можно изобразить.
Но правильность не могу гарантировать, т.к не знаю, что по кликам происходит
let zaprosi = ["Запрос1", "Запрос2", "Запрос3"]


const delay = (t) =>new Promise (res => setTimeout (res, t));

// Если есть гарантия, что обязательно найдет.
const findAndClick = async (channelName, td) => {
	while (true) {
		const blocks = Array.from(document.querySelectorAll('div#channel-info'));
 
		let elem = blocks.find((item) => item.innerText.trim().toLowerCase() == channelName.toLowerCase())
 
		if (elem) {
			elem.parentNode.parentNode.querySelector('a#thumbnail').click();
			return;
		} else {
			window.scrollBy(0, 5500);
			await delay (td);
		}
	}
}

// IIFE тут нужна только, что бы использовать await в этом коде 
;(async function () {
	for (const zap of zaprosi) {
		document.querySelector('input#search').value = zap;
		document.querySelector('button#search-icon-legacy').click();
		await findAndClick('Не понял, что тут должно быть', 3000)
	}
})()

Последний раз редактировалось voraa, 01.02.2021 в 11:29.
Ответить с цитированием