跳至主要内容

CDPSession

CDPSession 实例用于与原始 Chrome Devtools 协议通信

  • 可以使用 session.send 方法调用协议方法。
  • 可以使用 session.on 方法订阅协议事件。

有用链接

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

方法

DetachAsync

在 v1.9 之前添加 cdpSession.DetachAsync

从目标分离 CDPSession。分离后,CDPSession 对象将不再发出任何事件,也不能用于发送消息。

用法

await CdpSession.DetachAsync();

返回值


事件

添加于:v.1.30 cdpSession.Event

返回给定 CDP 事件名称的事件发射器。

用法

CdpSession.Event(eventName);

参数

  • eventName string添加于:v1.30#

    CDP 事件名称。

返回值


SendAsync

在 v1.9 之前添加 cdpSession.SendAsync

用法

await CdpSession.SendAsync(method, params);

参数

  • method string#

    协议方法名称。

  • args [Map]?<string, Args> (可选)添加于:v1.30#

    可选方法参数。

返回值

  • [JsonElement?]#