Interface ICDPSession
- Namespace
- Microsoft.Playwright
- Assembly
- Microsoft.Playwright.dll
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 } });
public interface ICDPSession : IAsyncDisposable
Methods
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.
Task DetachAsync()
Returns
Event(string)
Returns an event emitter for the given CDP event name.
ICDPSessionEvent Event(string eventName)
Parameters
eventName
stringCDP event name.
Returns
SendAsync(string, Dictionary<string, object>?)
Task<JsonElement?> SendAsync(string method, Dictionary<string, object>? args = null)
Parameters
method
stringProtocol method name.
args
Dictionary<string, object>Optional method parameters.