我有这个代码
...
const page = await browser.newPage();
page.on('console', msg => {
if (msg._type === 'log') {
console.log(msg._text);
}
});
...
await page.evaluate(() => {
document.querySelectorAll('.foo').forEach(bar => {
console.log('This logs not');
if (bar.querySelector('div > p').innerHTML === 'foo bar') {
bar.querySelector('.dropdown').click();
}
});
});
但是它没有记录任何内容。当我这样做
await page.evaluate(() => {
const test = document.querySelectorAll('.foo')
console.log('This logs');
test.forEach(bar => {
console.log('This logs not');
if (bar.querySelector('div > p').innerHTML === 'foo bar') {
bar.querySelector('.dropdown').click();
}
});
});
它记录第一个console.log()
。
为什么它不执行forEach
?