跳转到主要内容

ConsoleMessage

ConsoleMessage 对象由 page 通过 Page.Console 事件派发。对于在 page 中记录的每个控制台消息,Playwright 上下文中都会有相应的事件。

// Listen for all console messages and print them to the standard output.
page.Console += (_, msg) => Console.WriteLine(msg.Text);

// Listen for all console messages and print errors to the standard output.
page.Console += (_, msg) =>
{
if ("error".Equals(msg.Type))
Console.WriteLine("Error text: " + msg.Text);
};

// Get the next console message
var waitForMessageTask = page.WaitForConsoleMessageAsync();
await page.EvaluateAsync("console.log('hello', 42, { foo: 'bar' });");
var message = await waitForMessageTask;
// Deconstruct console.log arguments
await message.Args.ElementAt(0).JsonValueAsync<string>(); // hello
await message.Args.ElementAt(1).JsonValueAsync<int>(); // 42

方法

参数

v1.9 之前添加 consoleMessage.Args

传递给 console 函数调用的参数列表。另请参阅 Page.Console

用法

ConsoleMessage.Args

返回


位置

v1.9 之前添加 consoleMessage.Location

资源的 URL,后跟资源中的基于 0 的行号和列号,格式为 URL:line:column

用法

ConsoleMessage.Location

返回


页面

新增于: v1.34 consoleMessage.Page

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

用法

ConsoleMessage.Page

返回


文本

v1.9 之前添加 consoleMessage.Text

控制台消息的文本。

用法

ConsoleMessage.Text

返回


类型

v1.9 之前添加 consoleMessage.Type

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

用法

ConsoleMessage.Type

返回


工作线程

Added in: v1.57 consoleMessage.Worker

产生此控制台消息的 web worker 或 service worker(如果存在)。请注意,来自 web worker 的控制台消息也有非空的 ConsoleMessage.Page

用法

ConsoleMessage.Worker

返回