Skip to main content
Version: Next

CDPSession class

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


export declare abstract class CDPSession extends EventEmitter<CDPSessionEvents>

Extends: EventEmitter<CDPSessionEvents>


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.


const client = await;
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,


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.
id()Returns the session's id.
send(method, params, options)