Interface CDPSession

  • All Known Implementing Classes:
    CDPSessionImpl

    public interface 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);
       
    • Method Summary

      All Methods Instance Methods Abstract Methods Default Methods 
      Modifier and Type Method Description
      void detach()
      Detaches the CDPSession from the target.
      void off​(java.lang.String eventName, java.util.function.Consumer<com.google.gson.JsonObject> handler)
      Unregister an event handler for events with the specified event name.
      void on​(java.lang.String eventName, java.util.function.Consumer<com.google.gson.JsonObject> handler)
      Register an event handler for events with the specified event name.
      default com.google.gson.JsonObject send​(java.lang.String method)  
      com.google.gson.JsonObject send​(java.lang.String method, com.google.gson.JsonObject args)  
    • Method Detail

      • detach

        void 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.
        Since:
        v1.8
      • send

        default com.google.gson.JsonObject send​(java.lang.String method)
        Parameters:
        method - Protocol method name.
        Since:
        v1.8
      • send

        com.google.gson.JsonObject send​(java.lang.String method,
                                        com.google.gson.JsonObject args)
        Parameters:
        method - Protocol method name.
        args - Optional method parameters.
        Since:
        v1.8
      • on

        void on​(java.lang.String eventName,
                java.util.function.Consumer<com.google.gson.JsonObject> handler)
        Register an event handler for events with the specified event name. The given handler will be called for every event with the given name.
        Parameters:
        eventName - CDP event name.
        handler - Event handler.
        Since:
        v1.37
      • off

        void off​(java.lang.String eventName,
                 java.util.function.Consumer<com.google.gson.JsonObject> 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.
        Parameters:
        eventName - CDP event name.
        handler - Event handler.
        Since:
        v1.37