Skip to main content

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:

var client = await Page.Context.NewCDPSessionAsync(Page);
await client.SendAsync("Runtime.enable");
client.Event("Animation.animationCreated").OnEvent += (_, _) => Console.WriteLine("Animation created!");
var response = await client.SendAsync("Animation.getPlaybackRate");
var playbackRate = response.Value.GetProperty("playbackRate").GetDouble();
Console.WriteLine("playback rate is " + playbackRate);
await client.SendAsync("Animation.setPlaybackRate", new() { { "playbackRate", playbackRate / 2 } });

Methods

DetachAsync

Added in: v1.8 cdpSession.DetachAsync

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.DetachAsync();

Returns


Event

Added in: v.1.30 cdpSession.Event

Returns an event emitter for the given CDP event name.

Usage

CdpSession.Event(eventName);

Arguments

  • eventName string Added in: v1.30#

    CDP event name.

Returns


SendAsync

Added in: v1.8 cdpSession.SendAsync

Usage

await CdpSession.SendAsync(method, params);

Arguments

  • method string#

    Protocol method name.

  • args [Map]?<string, Args> (optional) Added in: v1.30#

    Optional method parameters.

Returns

  • [JsonElement?]#