Что то вроде такого можно изобразить.
Но правильность не могу гарантировать, т.к не знаю, что по кликам происходит
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)
}
})()