跳到主要内容

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) 返回真值。如果在事件触发前 socket 已关闭,则会抛出错误。

用法

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

指示该 web socket 是否已关闭。

用法

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)

事件数据