playwright/docs/src/api/class-cdpsession.md
2021-02-01 11:13:13 -08:00

2.1 KiB

class: CDPSession

  • langs: js, python
  • 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:

const client = await page.context().newCDPSession(page);
await client.send('Animation.enable');
client.on('Animation.animationCreated', () => console.log('Animation created!'));
const response = await client.send('Animation.getPlaybackRate');
console.log('playback rate is ' + response.playbackRate);
await client.send('Animation.setPlaybackRate', {
  playbackRate: response.playbackRate / 2
});
client = await page.context().new_cdp_session(page)
await client.send("animation.enable")
client.on("animation.animation_created", lambda: print("animation created!"))
response = await client.send("animation.get_playback_rate")
print("playback rate is " + response["playback_rate"])
await client.send("animation.set_playback_rate", {
    playback_rate: response["playback_rate"] / 2
})
client = page.context().new_cdp_session(page)
client.send("animation.enable")
client.on("animation.animation_created", lambda: print("animation created!"))
response = client.send("animation.get_playback_rate")
print("playback rate is " + response["playback_rate"])
client.send("animation.set_playback_rate", {
    playback_rate: response["playback_rate"] / 2
})

async method: CDPSession.detach

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

async method: CDPSession.send

  • returns: <[Object]>

param: CDPSession.send.method

  • method <[string]>

protocol method name

param: CDPSession.send.params

  • params <[Object]>

Optional method parameters