Skip to main content

CDPSession

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

Methods​

detach​

Added before v1.9 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.

Usage

await cdpSession.detach();

Returns


send​

Added before v1.9 cdpSession.send

Usage

await cdpSession.send(method);
await cdpSession.send(method, params);

Arguments

  • method string#

    Protocol method name.

  • params Object (optional)#

    Optional method parameters.

Returns


Events​

on('close')​

Added in: v1.59 cdpSession.on('close')

Emitted when the session is closed, either because the target was closed or session.detach() was called.

Usage

cdpSession.on('close', data => {});

Event data


on('event')​

Added in: v1.59 cdpSession.on('event')

Emitted for every CDP event received from the session. Allows subscribing to all CDP events at once without knowing their names ahead of time.

Usage

session.on('event', ({ method, params }) => {
console.log(`CDP event: ${method}`, params);
});

Event data