CDPSession
Экземпляры CDPSession
используются для работы с протоколом Chrome Devtools напрямую:
- методы протокола могут быть вызваны с помощью метода
session.send
. - на события протокола можно подписаться с помощью метода
session.on
.
Полезные ссылки:
- Документация по протоколу DevTools доступна здесь: DevTools Protocol Viewer.
- Начало работы с протоколом DevTools: https://github.com/aslushnikov/getting-started-with-cdp/blob/master/README.md
- Sync
- Async
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)
Аргументы
Возвращает