跳到主要内容

ConsoleMessage

ConsoleMessage 对象由页面通过 Page.onConsoleMessage(handler) 事件派发。页面中记录的每条控制台消息,在 Playwright 上下文中都会有对应的事件。

// 监听所有控制台消息并将它们打印到标准输出。
page.onConsoleMessage(msg -> System.out.println(msg.text()));

// 监听所有控制台消息并将错误打印到标准输出。
page.onConsoleMessage(msg -> {
if ("error".equals(msg.type()))
System.out.println("错误文本: " + msg.text());
});

// 获取下一条控制台消息
ConsoleMessage msg = page.waitForConsoleMessage(() -> {
// 在页面内执行 console.log
page.evaluate("console.log('hello', 42, { foo: 'bar' });");
});

// 解构 console.log 参数
msg.args().get(0).jsonValue(); // hello
msg.args().get(1).jsonValue(); // 42

方法​

args​

在 v1.9 之前添加 consoleMessage.args

传递给 console 函数调用的参数列表。另请参阅 Page.onConsoleMessage(handler)。

用法

ConsoleMessage.args();

返回值


location​

在 v1.9 之前添加 consoleMessage.location

资源的 URL,后跟资源中从 0 开始的行号和列号,格式为 URL:行:列。

用法

ConsoleMessage.location();

返回值


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();

返回值