Skip to main content
Version: 21.9.0

CDPSession class

The CDPSession instances are used to talk raw Chrome Devtools Protocol.

Signature:

export declare abstract class CDPSession extends EventEmitter<CDPSessionEvents>

Extends: EventEmitter<CDPSessionEvents>

Remarks

Protocol methods can be called with CDPSession.send() method and protocol events can be subscribed to with CDPSession.on method.

Useful links: DevTools Protocol Viewer and Getting Started with DevTools Protocol.

The constructor for this class is marked as internal. Third-party code should not call the constructor directly or create subclasses that extend the CDPSession class.

Example

const client = await page.target().createCDPSession();
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

MethodModifiersDescription
connection
detachDetaches the cdpSession from the target. Once detached, the cdpSession object won't emit any events and can't be used to send messages.
idReturns the session's id.
send