CDPSession
The CDPSession
instances are used to talk raw Chrome Devtools Protocol:
- protocol methods can be called with
session.send
method. - protocol events can be subscribed to with
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
detach
Added before v1.9Detaches 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
off
Added in: v1.37Unregister 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.
on
Added in: v1.37Register 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.
send
Added before v1.9Usage
CDPSession.send(method);
CDPSession.send(method, args);
Arguments
-
Protocol method name.
-
args
JsonObject (optional) Added in: v1.37#Optional method parameters.
Returns