class Playwright::CDPSession
-
extends: [EventEmitter]
The `CDPSession` instances are used to talk raw Chrome Devtools Protocol:
-
protocol methods can be called with `session.send` method.
-
protocol events can be subscribed to with `session.on` method.
Useful links:
-
Documentation on DevTools Protocol can be found here: [DevTools Protocol Viewer](chromedevtools.github.io/devtools-protocol/).
-
Getting Started with DevTools Protocol: github.com/aslushnikov/getting-started-with-cdp/blob/master/README.md
“`python sync 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)) client.send(“Animation.setPlaybackRate”, {
playbackRate: response["playbackRate"] / 2
}) “`
Public Instance Methods
Detaches the CDPSession
from the target. Once detached, the CDPSession
object won't emit any events and can't be used to send messages.
# File lib/playwright_api/cdp_session.rb, line 28 def detach wrap_impl(@impl.detach) end
– inherited from EventEmitter
– @nodoc
# File lib/playwright_api/cdp_session.rb, line 50 def off(event, callback) event_emitter_proxy.off(event, callback) end
– inherited from EventEmitter
– @nodoc
# File lib/playwright_api/cdp_session.rb, line 44 def on(event, callback) event_emitter_proxy.on(event, callback) end
– inherited from EventEmitter
– @nodoc
# File lib/playwright_api/cdp_session.rb, line 38 def once(event, callback) event_emitter_proxy.once(event, callback) end
# File lib/playwright_api/cdp_session.rb, line 32 def send_message(method, params: nil) wrap_impl(@impl.send_message(unwrap_impl(method), params: unwrap_impl(params))) end
Private Instance Methods
# File lib/playwright_api/cdp_session.rb, line 54 def event_emitter_proxy @event_emitter_proxy ||= EventEmitterProxy.new(self, @impl) end