WebSocket
WebSocket 类表示页面中的 websocket 连接。
- web_socket.on("close")
- web_socket.on("framereceived")
- web_socket.on("framesent")
- web_socket.on("socketerror")
- web_socket.expect_event(event, **kwargs)
- web_socket.is_closed()
- web_socket.url
- web_socket.wait_for_event(event, **kwargs)
web_socket.on("close")
Added in: v1.8- type: <WebSocket>
WebSocket 关闭时触发。
web_socket.on("framereceived")
Added in: v1.9WebSocket 接收到帧时触发。
web_socket.on("framesent")
Added in: v1.9WebSocket 发送帧时触发。
web_socket.on("socketerror")
Added in: v1.9- type: <[String]>
WebSocket 出现错误时触发。
web_socket.expect_event(event, **kwargs)
Added in: v1.8event<str> 事件名称,与传递给webSocket.on(event)的值保持一致。#predicate<Callable> 接收事件数据,用于判断何时结束等待,返回 truthy 值即结束。#timeout<float> 等待的最长毫秒数,默认为30000(30 秒)。传入0可禁用超时。可通过 browser_context.set_default_timeout(timeout) 修改默认值。#- 返回值: <EventContextManager>#
等待指定事件触发并将事件值传递给谓词函数。当谓词返回 truthy 值时结束等待;若事件触发前 WebSocket 已关闭,则抛出错误。返回事件数据本身。
web_socket.is_closed()
Added in: v1.8指示当前 WebSocket 是否已关闭。
web_socket.url
Added in: v1.8包含该 WebSocket 的 URL。
web_socket.wait_for_event(event, **kwargs)
Added in: v1.8event<str> 事件名称,通常与传给*.on(event)的值一致。#predicate<Callable> 接收事件数据,当需要结束等待时返回 truthy 值。#timeout<float> 等待的最长毫秒数,默认为30000(30 秒)。传入0可禁用超时。可通过 browser_context.set_default_timeout(timeout) 修改默认值。#- 返回值: <Any>#
note
大多数场景下推荐使用 web_socket.expect_event(event, **kwargs)。
等待指定 event 触发。若提供 predicate,会将事件值传入并等待 predicate(event) 返回 truthy 值。若在事件触发前套接字已经关闭,则抛出错误。