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传递给 console
函数调用的参数列表。另见 page.on('console')。
用法
consoleMessage.args();
返回值
location
Added before v1.9用法
consoleMessage.location();
返回值
page
新增于: v1.34产生此控制台消息的页面(如果有)。
用法
consoleMessage.page();
返回值
text
v1.9 之前版本已添加控制台消息的文本内容。
用法
consoleMessage.text();
返回值
type
v1.9 之前版本已添加以下值之一:'log'
, 'debug'
, 'info'
, 'error'
, 'warning'
, 'dir'
, 'dirxml'
, 'table'
, 'trace'
, 'clear'
, 'startGroup'
, 'startGroupCollapsed'
, 'endGroup'
, 'assert'
, 'profile'
, 'profileEnd'
, 'count'
, 'timeEnd'
。
用法
consoleMessage.type();
返回值