跳到主要内容

ConsoleMessage

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

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

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

// 获取下一条控制台日志
const msgPromise = page.waitForEvent('console');
await page.evaluate(() => {
console.log('hello', 42, { foo: 'bar' }); // 在页面内执行 console.log
});
const msg = await msgPromise;

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

方法

args

Added before v1.9 consoleMessage.args

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

用法

consoleMessage.args();

返回值


location

Added before v1.9 consoleMessage.location

用法

consoleMessage.location();

返回值

  • Object#
    • url string

      资源的 URL。

    • lineNumber number

      资源中基于 0 的行号。

    • columnNumber number

      资源中基于 0 的列号。


page

新增于: v1.34 consoleMessage.page

产生此控制台消息的页面(如果有)。

用法

consoleMessage.page();

返回值


text

v1.9 之前版本已添加 consoleMessage.text

控制台消息的文本内容。

用法

consoleMessage.text();

返回值


type

v1.9 之前版本已添加 consoleMessage.type

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

用法

consoleMessage.type();

返回值