Skip to main content

ConsoleMessage

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

// Listen for all console messages and print them to the standard output.
page.onConsoleMessage(msg -> System.out.println(msg.text()));

// Listen for all console messages and print errors to the standard output.
page.onConsoleMessage(msg -> {
if ("error".equals(msg.type()))
System.out.println("Error text: " + msg.text());
});

// Get the next console message
ConsoleMessage msg = page.waitForConsoleMessage(() -> {
// Issue console.log inside the page
page.evaluate("console.log('hello', 42, { foo: 'bar' });");
});

// Deconstruct console.log arguments
msg.args().get(0).jsonValue(); // hello
msg.args().get(1).jsonValue(); // 42

方法

🌐 Methods

args

Added before v1.9 consoleMessage.args

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

🌐 List of arguments passed to a console function call. See also Page.onConsoleMessage(handler).

用法

ConsoleMessage.args();

返回


location

Added before v1.9 consoleMessage.location

资源的 URL,后跟资源中以 0 为起点的行号和列号,格式为 URL:line:column

🌐 URL of the resource followed by 0-based line and column numbers in the resource formatted as URL:line:column.

用法

ConsoleMessage.location();

返回


page

Added in: v1.34 consoleMessage.page

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

🌐 The page that produced this console message, if any.

用法

ConsoleMessage.page();

返回


text

Added before v1.9 consoleMessage.text

控制台消息的文本。

🌐 The text of the console message.

用法

ConsoleMessage.text();

返回


type

Added before v1.9 consoleMessage.type

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

🌐 One of the following values: 'log', 'debug', 'info', 'error', 'warning', 'dir', 'dirxml', 'table', 'trace', 'clear', 'startGroup', 'startGroupCollapsed', 'endGroup', 'assert', 'profile', 'profileEnd', 'count', 'timeEnd'.

用法

ConsoleMessage.type();

返回


worker

Added in: v1.57 consoleMessage.worker

产生此控制台消息的 Web Worker 或服务工作者(如果有的话)。请注意,来自 Web Worker 的控制台消息也有非空的 ConsoleMessage.page()

🌐 The web worker or service worker that produced this console message, if any. Note that console messages from web workers also have non-null ConsoleMessage.page().

用法

ConsoleMessage.worker();

返回