Skip to main content

CDPSession

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 before v1.9 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 before v1.9 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?]#