Я строю абстракцию / упрощение для Puppeteer в Nodejs, чтобы очистить одностраничные приложения.Одним из основных действий, которые он будет выполнять, является многократная прокрутка страницы для запуска вызова AJAX.в основном я делаю:
(()=>{
page.on('response', async res => {
if (res.includes('/someAjaxAction')) {
numResponses++
}
})
while(numResponses<20){
await scrollDown();//Calling my function that scrolls down.
await Promise.delay(400)//Creating a delay just in case...
}
})()
Я настраиваю прослушиватель события onResponse и рассчитываю, сколько раз был выполнен соответствующий вызов ajax.Я ругаю бесконечно, пока это условие не будет выполнено, вот и все - я могу использовать полный HTML.
Проблема в том, что это заставит клиентского кодера предоставлять несколько ожидаемых ajax-вызовов.Я хотел бы как-то распознать ситуацию, когда прокрутка невозможна.Например: мы достигли конца страницы.
Есть идеи, как я могу абстрагировать такую ситуацию?