Class: Playwright::CDPSession

Inherits:
PlaywrightApi show all
Defined in:
lib/playwright_api/cdp_session.rb,
sig/playwright.rbs

Overview

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:

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
})

Instance Method Summary collapse

Methods inherited from PlaywrightApi

#initialize, unwrap, wrap

Constructor Details

This class inherits a constructor from Playwright::PlaywrightApi

Instance Method Details

#detachvoid

This method returns an undefined value.

Detaches the CDPSession from the target. Once detached, the CDPSession object won't emit any events and can't be used to send messages.



26
27
28
# File 'lib/playwright_api/cdp_session.rb', line 26

def detach
  wrap_impl(@impl.detach)
end

#off(event, callback) ⇒ Object

-- inherited from EventEmitter --



36
37
38
# File 'lib/playwright_api/cdp_session.rb', line 36

def off(event, callback)
  event_emitter_proxy.off(event, callback)
end

#on(event, callback) ⇒ Object

-- inherited from EventEmitter --



48
49
50
# File 'lib/playwright_api/cdp_session.rb', line 48

def on(event, callback)
  event_emitter_proxy.on(event, callback)
end

#once(event, callback) ⇒ Object

-- inherited from EventEmitter --



42
43
44
# File 'lib/playwright_api/cdp_session.rb', line 42

def once(event, callback)
  event_emitter_proxy.once(event, callback)
end

#send_message(method, params: nil) ⇒ Hash[untyped, untyped]

Parameters:

  • method (String)
  • params: (Hash[untyped, untyped]) (defaults to: nil)

Returns:

  • (Hash[untyped, untyped])


30
31
32
# File 'lib/playwright_api/cdp_session.rb', line 30

def send_message(method, params: nil)
  wrap_impl(@impl.send_message(unwrap_impl(method), params: unwrap_impl(params)))
end