跳到主要内容

ConsoleMessage

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

// 监听所有控制台消息并将它们打印到标准输出。
page.Console += (_, msg) => Console.WriteLine(msg.Text);

// 监听所有控制台消息并将错误打印到标准输出。
page.Console += (_, msg) =>
{
if ("error".Equals(msg.Type))
Console.WriteLine("Error text: " + msg.Text);
};

// 获取下一条控制台消息
var waitForMessageTask = page.WaitForConsoleMessageAsync();
await page.EvaluateAsync("console.log('hello', 42, { foo: 'bar' });");
var message = await waitForMessageTask;
// 解构 console.log 参数
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:行:列。

用法

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

返回值