CDPSession
CDPSession
实例用于与原始 Chrome Devtools 协议通信
- 可以使用
session.send
方法调用协议方法。 - 可以使用
session.on
方法订阅协议事件。
有用链接
- DevTools 协议文档可在以下位置找到:DevTools 协议查看器.
- DevTools 协议入门:https://github.com/aslushnikov/getting-started-with-cdp/blob/master/README.md
- 同步
- 异步
client = page.context.new_cdp_session(page)
client.send("Animation.enable")
client.on("Animation.animationCreated", lambda: print("animation created!"))
response = client.send("Animation.getPlaybackRate")
print("playback rate is " + str(response["playbackRate"]))
client.send("Animation.setPlaybackRate", {
"playbackRate": response["playbackRate"] / 2
})
client = await page.context.new_cdp_session(page)
await client.send("Animation.enable")
client.on("Animation.animationCreated", lambda: print("animation created!"))
response = await client.send("Animation.getPlaybackRate")
print("playback rate is " + str(response["playbackRate"]))
await client.send("Animation.setPlaybackRate", {
"playbackRate": response["playbackRate"] / 2
})
方法
detach
在 v1.9 之前添加将 CDPSession 与目标分离。分离后,CDPSession 对象不会发出任何事件,也不能用于发送消息。
用法
cdp_session.detach()
返回值
send
在 v1.9 之前添加用法
cdp_session.send(method)
cdp_session.send(method, **kwargs)
参数
返回值