javascript - Puppeteer 记录在 page.evaluate

标签 javascript node.js puppeteer

如何在 page.evaluate 中控制台记录某些内容,将其传递给 Node 并在页面评估期间使用它?

我实际上想记录页面的进度。评估到控制台并向用户显示一些结果。

最佳答案

puppeteer 12 的更新,改编自 the current documentation :

page.on('console', async (msg) => {
  const msgArgs = msg.args();
  for (let i = 0; i < msgArgs.length; ++i) {
    console.log(await msgArgs[i].jsonValue());
  }
});

await page.evaluate(() => console.log('hello', 5));
await page.evaluate(() => console.log({ foo: 'bar' }));
await page.evaluate(() => console.log([1, 2, 3, 4, 5]));

显示以下结果:

hello  
5  
{ foo: 'bar' }  
[ 1, 2, 3, 4, 5 ]  

关于javascript - Puppeteer 记录在 page.evaluate,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46198527/

相关文章:

javascript - 使用 Firefox 解析 HTML

javascript - 我们可以根据 URL 来控制网页吗?

node.js - NodeJS、Express 和插件样式表

javascript - 如果元素不存在于其他数组中,则将其包含在数组中

javascript - 如何在 Puppeteer 中截取屏幕截图或 PDF 之前删除标签?

javascript - Typescript 自动完成功能在 VSCode 中不起作用

node.js - 管理 puppeteer 的内存和性能

javascript - 在 Javascript 中将函数作为参数传递

javascript - CoffeeScript 类中的“This”关键字

javascript - 选择 span 标签内的文本