Interface CDPSession


  • 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​(String eventName, Consumer<com.google.gson.JsonObject> handler)
      Unregister an event handler for events with the specified event name.
      void on​(String eventName, Consumer<com.google.gson.JsonObject> handler)
      Register an event handler for events with the specified event name.
      default com.google.gson.JsonObject send​(String method)  
      com.google.gson.JsonObject send​(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​(String method)
        Parameters:
        method - Protocol method name.
        Since:
        v1.8
      • send

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

        void on​(String eventName,
                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​(String eventName,
                 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