Skip to main content
Deno 2 is finally here 🎉️
Learn more
Module

x/pptr/src/Connection.ts>CDPSession

Headless Chrome Deno API
Latest
class CDPSession
extends EventEmitter
import { CDPSession } from "https://deno.land/x/pptr@1.2.0/src/Connection.ts";

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

Examples

Example 1

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

Constructors

new
CDPSession(
connection: Connection,
targetType: string,
sessionId: string,
)

Properties

private
_callbacks: Map<number, ConnectionCallback>
private
_sessionId: string
private
_targetType: string
_connection: Connection

Methods

_onClosed(): void
_onMessage(object: CDPSessionOnMessageObject): void
detach(): Promise<void>

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

send<T extends keyof ProtocolMapping.Commands>(method: T, ...paramArgs: ProtocolMapping.Commands[T]["paramsType"]): Promise<ProtocolMapping.Commands[T]["returnType"]>