Рассмотрим следующий фрагмент кода:
let foo = await page.evaluate(
() => {
let bar = [...document.querySelectorAll(".foobar")];
return bar.map( (u) => u.textContent.trim() );
}
);
foo.forEach( (u) => { console.log(u); });
Теперь рассмотрим этот вариант:
let bar = await page.evaluate(
() => {
return [...document.querySelectorAll(".foobar")];
}
);
let foo = bar.map((u) => u.textContent.trim());
bar.forEach( (u) => { console.log(u); } );
Я ожидаю, что оба будут регистрировать одинаковые результаты, но на самом деле, пока первый работает нормальнопоследний бросает
Невозможно прочитать свойство 'map' из неопределенного
Может кто-нибудь объяснить, почему я не могу взять map()
из page.evaluate()
?
FWIW, page
- это puppeteer
NewPage()
.