class: CDPSession
- 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:
- Documentation on DevTools Protocol can be found here: DevTools Protocol Viewer.
- Getting Started with DevTools Protocol: https://github.com/aslushnikov/getting-started-with-cdp/blob/master/README.md
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
});
cdpSession.detach()
- returns: <Promise>
Detaches the CDPSession from the target. Once detached, the CDPSession object won’t emit any events and can’t be used to send messages.