跳转到主要内容

WebSocket

WebSocket 类代表页面中的 WebSocket 连接。它提供了检查和操作传输及接收数据的能力。

如果你想拦截或修改 WebSocket 帧,请考虑使用 WebSocketRoute


方法

expect_event

v1.9 之前添加 webSocket.expect_event

等待事件触发,并将事件值传递给断言(predicate)函数。当断言函数返回真值时返回。如果 WebSocket 在事件触发前关闭,则会抛出错误。返回事件数据值。

用法

web_socket.expect_event(event)
web_socket.expect_event(event, **kwargs)

参数

  • event str#

    事件名称,与传递给 webSocket.on(event) 的名称相同。

  • predicate Callable (可选)#

    接收事件数据,并在等待应该解决时解析为真值。

  • timeout float (可选)#

    最长等待时间(以毫秒为单位)。默认为 30000(30 秒)。传入 0 可禁用超时。默认值可以通过使用 browser_context.set_default_timeout() 进行更改。

返回


wait_for_event

v1.9 之前添加 webSocket.wait_for_event
注意

在大多数情况下,你应该使用 web_socket.expect_event()

等待指定的 event 触发。如果提供了断言(predicate),它会将事件的值传递给 predicate 函数,并等待 predicate(event) 返回真值。如果 socket 在 event 触发前关闭,则会抛出错误。

用法

web_socket.wait_for_event(event)
web_socket.wait_for_event(event, **kwargs)

参数

  • event str#

    事件名称,通常传递给 *.on(event) 的相同名称。

  • predicate Callable (可选)#

    接收事件数据,并在等待应该解决时解析为真值。

  • timeout float (可选)#

    最长等待时间(以毫秒为单位)。默认为 30000(30 秒)。传入 0 可禁用超时。默认值可以通过使用 browser_context.set_default_timeout() 进行更改。

返回


属性

is_closed

v1.9 之前添加 webSocket.is_closed

指示 WebSocket 已关闭。

用法

web_socket.is_closed()

返回


url

v1.9 之前添加 webSocket.url

包含 WebSocket 的 URL。

用法

web_socket.url

返回


Events

on("close")

v1.9 之前添加 webSocket.on("close")

当 WebSocket 关闭时触发。

用法

web_socket.on("close", handler)

事件数据


on("framereceived")

添加于:v1.9 webSocket.on("framereceived")

当 WebSocket 接收到帧时触发。

用法

web_socket.on("framereceived", handler)

事件数据


on("framesent")

添加于:v1.9 webSocket.on("framesent")

当 WebSocket 发送帧时触发。

用法

web_socket.on("framesent", handler)

事件数据


on("socketerror")

添加于:v1.9 webSocket.on("socketerror")

当 WebSocket 发生错误时触发。

用法

web_socket.on("socketerror", handler)

事件数据