跳到主要內容

CDPSession

CDPSession 實例用於與原始 Chrome Devtools Protocol 通訊

  • 協定方法可以使用 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?]#