Puppeteer 监听 page.on('console') 来查看浏览器控制台的消息

18 min read

是的,Puppeteer提供了page.on('console')方法,可以用来监听浏览器控制台的消息。使用这个方法,可以在页面中执行的任何JavaScript代码产生的控制台消息都可以被捕获到。

以下是一个示例代码:

const puppeteer = require('puppeteer');

(async () => {
  const browser = await puppeteer.launch();
  const page = await browser.newPage();

  // 监听控制台消息
  page.on('console', message => {
    console.log(`控制台消息: ${message.text()}`);
  });

  await page.goto('https://example.com');
  
  // 在页面上执行一段脚本,产生控制台消息
  await page.evaluate(() => console.log('Hello, world!'));

  await browser.close();
})();

在上述示例中,我们在页面上执行了一段脚本console.log('Hello, world!'),然后通过page.on('console')方法捕获了这条控制台消息,并打印出来。

运行上述代码,就可以在控制台中看到输出结果如下:

控制台消息: Hello, world!

通过使用page.on('console')方法,可以方便地查看浏览器控制台中的消息,这对于调试和监控页面中的JavaScript代码非常有用。