Skip to main content

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:

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.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


off

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

  • eventName String#

    CDP event name.

  • handler Consumer<JsonObject>#

    Event handler.


on

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

  • eventName String#

    CDP event name.

  • handler Consumer<JsonObject>#

    Event handler.


send

Added before v1.9 cdpSession.send

Usage

CDPSession.send(method);
CDPSession.send(method, args);

Arguments

  • method String#

    Protocol method name.

  • args JsonObject (optional) Added in: v1.37#

    Optional method parameters.

Returns


Events

onClose(handler)

Added in: v1.59 cdpSession.onClose(handler)

Emitted when the session is closed, either because the target was closed or session.detach() was called.

Usage

CDPSession.onClose(handler)

Event data