Доброго времени суток!
Имеется данный скрипт (спасибо
voraa)
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);
}
}
}
;(async function () {
for (const zap of zaprosi) {
document.querySelector('input#search').value = zap;
document.querySelector('button#search-icon-legacy').click();
await findAndClick('НАЗВАНИЕ КАНАЛА', 3000)
}
})()
Его суть: открыт сайт ЮТУБ. Взял 1ую переменную из "zaprosi", вставил в поисковую строку, нажал на поиск. Далее пошел поиск по странице на наличие определенного канала, если он не был найден - скролл страницы, до тех пор, пока не найдет.
Далее клик по нужному видосу с нужного канала. Далее взял 2ую переменную из "zaprosi" и всё пошло по кругу. Потом третью...
Проблема вот в чем: скролл и поиск запускаются раньше времени, и всё ступорится. Прошу помощи!