Ошибка
Вам нужно пометить передаваемую функцию как async
, функция async
ограничена только лексической областью самой функции.
Любые функции, которые вывызов внутри него (например, .forEach
или evaluate
в этом случае) должен быть помечен как async
(если они поддерживают это):
// Here
page.evaluate(async () => {
Исправление более крупной проблемы
В вашем конкретном случае вы должны извлечь цикл за пределами оценки, чтобы избежать тайм-аутов:
while(await page.$$('.Ns6lhs9 _gfh3').length < counter) {
await page.evaluate(() => window.scrollBy(0, window.innerHeight);
}
Если у вашего evaluate
слишком длинный кукловод, время ожидания истечет, и обычнопредпочтительнее не делать дорогих вещей внутри evaluate
.