Skip to main content

ConsoleMessage

ConsoleMessage 对象通过 page.on('console') 事件由页面分发。对于页面中记录的每条控制台消息,Playwright 上下文中都会有相应的事件。

// 监听所有控制台日志
page.on('console', msg => console.log(msg.text()))

// 监听所有控制台事件并处理错误
page.on('console', msg => {
if (msg.type() === 'error')
console.log(`Error text: "${msg.text()}"`);
});

// 获取下一个控制台日志
const [msg] = await Promise.all([
page.waitForEvent('console'),
// 在页面内触发 console.log
page.evaluate(() => {
console.log('hello', 42, { foo: 'bar' });
}),
]);

// 解构控制台日志参数
await msg.args[0].jsonValue() // hello
await msg.args[1].jsonValue() // 42

consoleMessage.args()​

Added in: v1.8

传递给 console 函数调用的参数列表。另请参阅 page.on('console')。

consoleMessage.location()​

Added in: v1.8
  • returns: <Object>#
    • url <string> 资源的 URL。
    • lineNumber <number> 资源中从 0 开始的行号。
    • columnNumber <number> 资源中从 0 开始的列号。

consoleMessage.text()​

Added in: v1.8

控制台消息的文本。

consoleMessage.type()​

Added in: v1.8

以下值之一:'log'、'debug'、'info'、'error'、'warning'、'dir'、'dirxml'、'table'、'trace'、'clear'、'startGroup'、'startGroupCollapsed'、'endGroup'、'assert'、'profile'、'profileEnd'、'count'、'timeEnd'。