跳转到主要内容

WebSocket

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

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


方法

expect_event

v1.9 之前添加 webSocket.expect_event

等待事件触发并将事件值传递给谓词函数。当谓词返回真值时返回。如果 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(event) 返回一个真值。如果 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

返回


事件

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)

事件数据