Тема: JS: Добавить автоскролл страницы, пока не найдет текст
Доброго времени суток.
Имеется такой скрипт (он внутри AHK скрипта, если это важно):
(
(() => {
const coll = document.querySelectorAll('div#channel-info');
let elem;
for (let item of coll) {
if ( item.innerText == 'StopGame.Ru' && (elem = item) )
break;
};
if (elem)
elem.parentNode.parentNode.querySelector('a#thumbnail').click();
else
alert('Не найдено!');
})();
)
Его суть: ищет введенное название канала, затем кликает на первый найденный видос с этого канала, со страницы поиска Ютуба.
Проблема вот в чем: часто нужные каналы с видосами находятся снизу, а поиск выдает только первые 20 результатов. Соответственно, нужно скроллить страницу до того момента, пока он не найдет нужное мне совпадение.
Нашел вроде то, что мне нужно:
elem.scrollIntoView(top)
Только как его запихнуть в основной скрипт, тот что выше, пока не понимаю. Прошу помощи...
UPDATE.
Построил ультра костыльный способ для вышеописанного средствами AHK.
page:=Chrome.GetPageByTitle("YouTube")
Loop 100
{
Send {PgDn} ; нажать клавишу
Sleep 200 ; пауза в миллисекундах между нажатиями
}
Send {PgDn} ; отпустить клавишу
По факту он работает, но далеко не всегда так, как нужно.
Так что вопрос со вставкой бесконечного скролла до момента нахождения нужного канала, остается открытым.