跳转到主要内容

ConsoleMessage

ConsoleMessage 对象由页面通过 Page.Console 事件进行分发。页面中记录的每条控制台消息在 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

方法

Args

v1.9 之前添加 consoleMessage.Args

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

用法

ConsoleMessage.Args

返回


Location

v1.9 之前添加 consoleMessage.Location

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

用法

ConsoleMessage.Location

返回


Page

新增于: v1.34 consoleMessage.Page

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

用法

ConsoleMessage.Page

返回


Text

v1.9 之前添加 consoleMessage.Text

控制台消息的文本。

用法

ConsoleMessage.Text

返回


Timestamp

新增于: v1.59 consoleMessage.Timestamp

控制台消息的时间戳,单位为自 Unix 纪元以来的毫秒数。

用法

ConsoleMessage.Timestamp

返回

  • [float]#

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

返回


Worker

Added in: v1.57 consoleMessage.Worker

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

用法

ConsoleMessage.Worker

返回