File: class-cdpsession.md | Updated: 11/18/2025
On this page
The CDPSession instances are used to talk raw Chrome Devtools Protocol:
session.send method.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
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);
Methods
Added before v1.9 cdpSession.detach
Detaches the CDPSession from the target. Once detached, the CDPSession object won't emit any events and can't be used to send messages.
Usage
CDPSession.detach();
Returns
Added in: v1.37 cdpSession.off
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.
Usage
CDPSession.off(eventName, handler);
Arguments
CDP event name.
handler Consumer
<JsonObject
>#
Event handler.
Added in: v1.37 cdpSession.on
Register an event handler for events with the specified event name. The given handler will be called for every event with the given name.
Usage
CDPSession.on(eventName, handler);
Arguments
CDP event name.
handler Consumer
<JsonObject
>#
Event handler.
Added before v1.9 cdpSession.send
Usage
CDPSession.send(method);CDPSession.send(method, args);
Arguments
Protocol method name.
args JsonObject
(optional) Added in: v1.37#
Optional method parameters.
Returns