跳到主要内容

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

返回值