docs/src/api/class-cdpsession.md
The CDPSession instances are used to talk raw Chrome Devtools Protocol:
session.send method.session.on method.Useful links:
const client = await page.context().newCDPSession(page);
await client.send('Animation.enable');
client.on('Animation.animationCreated', () => console.log('Animation created!'));
const response = await client.send('Animation.getPlaybackRate');
console.log('playback rate is ' + response.playbackRate);
await client.send('Animation.setPlaybackRate', {
playbackRate: response.playbackRate / 2
});
client = await page.context.new_cdp_session(page)
await client.send("Animation.enable")
client.on("Animation.animationCreated", lambda: print("animation created!"))
response = await client.send("Animation.getPlaybackRate")
print("playback rate is " + str(response["playbackRate"]))
await client.send("Animation.setPlaybackRate", {
"playbackRate": response["playbackRate"] / 2
})
client = page.context.new_cdp_session(page)
client.send("Animation.enable")
client.on("Animation.animationCreated", lambda: print("animation created!"))
response = client.send("Animation.getPlaybackRate")
print("playback rate is " + str(response["playbackRate"]))
client.send("Animation.setPlaybackRate", {
"playbackRate": response["playbackRate"] / 2
})
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 } });
CDPSession client = page.context().newCDPSession(page);
client.send("Runtime.enable");
client.on("Animation.animationCreated", (event) -> System.out.println("Animation created!"));
JsonObject response = client.send("Animation.getPlaybackRate");
double playbackRate = response.get("playbackRate").getAsDouble();
System.out.println("playback rate is " + playbackRate);
JsonObject params = new JsonObject();
params.addProperty("playbackRate", playbackRate / 2);
client.send("Animation.setPlaybackRate", params);
Emitted when the session is closed, either because the target was closed or session.detach() was called.
method <[string]> CDP event name.params ?<[Object]> CDP event parameters.Emitted for every CDP event received from the session. Allows subscribing to all CDP events at once without knowing their names ahead of time.
Usage
session.on('event', ({ name, params }) => {
console.log(`CDP event: ${name}`, params);
});
Detaches the CDPSession from the target. Once detached, the CDPSession object won't emit any events and can't be used to send messages.
method <[string]>Protocol method name.
params ?<[Object]>Optional method parameters.
params ?<[Map<string, Object>]>Optional method parameters.
params ?<[JsonObject]>Optional method parameters.
Returns an event emitter for the given CDP event name.
eventName <[string]>CDP event name.
Register an event handler for events with the specified event name. The given handler will be called for every event with the given name.
eventName <[string]>CDP event name.
handler <[function]([JsonObject])>Event handler.
Unregister an event handler for events with the specified event name. The given handler will not be called anymore for events with the given name.
eventName <[string]>CDP event name.
handler <[function]([JsonObject])>Event handler.