CDPSession
CDPSession
实例用于与原始 Chrome Devtools 协议通信
- 可以使用
session.send
方法调用协议方法。 - 可以使用
session.on
方法订阅协议事件。
有用链接
- 可以在此处找到有关 DevTools 协议的文档:DevTools 协议查看器。
- DevTools 协议入门: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 } });
方法
DetachAsync
在 v1.9 之前添加从目标分离 CDPSession。分离后,CDPSession 对象将不再发出任何事件,也不能用于发送消息。
用法
await CdpSession.DetachAsync();
返回值
事件
添加于:v.1.30返回给定 CDP 事件名称的事件发射器。
用法
CdpSession.Event(eventName);
参数
返回值
SendAsync
在 v1.9 之前添加用法
await CdpSession.SendAsync(method, params);
参数
返回值
- [JsonElement?]#