📄 playwright-python/dotnet/docs/api/class-cdpsession

File: class-cdpsession.md | Updated: 11/18/2025

Source: https://playwright.dev/dotnet/docs/api/class-cdpsession

Skip to main content

On this page

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

    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