跳到主要内容

ConsoleMessage

ConsoleMessage 对象通过页面的 page.on("console") 事件分发。每当页面中有控制台消息被记录时,Playwright 上下文中都会有相应的事件。

# 监听所有控制台日志
page.on("console", lambda msg: print(msg.text))

# 监听所有控制台事件并处理错误
page.on("console", lambda msg: print(f"error: {msg.text}") if msg.type == "error" else None)

# 获取下一个控制台日志
with page.expect_console_message() as msg_info:
# 在页面内执行 console.log
page.evaluate("console.log('hello', 42, { foo: 'bar' })")
msg = msg_info.value

# 解构打印参数
msg.args[0].json_value() # hello
msg.args[1].json_value() # 42

属性

args

v1.9 之前添加 consoleMessage.args

传递给 console 函数调用的参数列表。另见 page.on("console")

用法

console_message.args

返回值


location

v1.9 之前添加 consoleMessage.location

用法

console_message.location

返回值

  • Dict#
    • url str

      资源的 URL。

    • lineNumber int

      资源中的行号(从 0 开始)。

    • columnNumber int

      资源中的列号(从 0 开始)。


page

新增于: v1.34 consoleMessage.page

产生该控制台消息的页面(如果有)。

用法

console_message.page

返回值


text

v1.9 之前添加 consoleMessage.text

控制台消息的文本内容。

用法

console_message.text

返回值


type

v1.9 之前添加 consoleMessage.type

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

用法

console_message.type

返回值