Class CdpClient

java.lang.Object
io.karatelabs.driver.cdp.CdpClient

public class CdpClient extends Object
Chrome DevTools Protocol client built on WebSocket. Handles request/response correlation and event subscription.
  • Method Details

    • connect

      public static CdpClient connect(String webSocketUrl)
    • connect

      public static CdpClient connect(String webSocketUrl, Duration defaultTimeout)
    • nextId

      public int nextId()
    • method

      public CdpMessage method(String method)
      Create a new CDP message builder. Automatically includes sessionId if one is set.
    • browserMethod

      public CdpMessage browserMethod(String method)
      Create a new CDP message builder for browser-level commands. Does NOT include sessionId - use for Target.* commands that operate at browser level.
    • getSessionId

      public String getSessionId()
      Get the current session ID.
    • setSessionId

      public void setSessionId(String sessionId)
      Set the session ID for subsequent requests. Used when switching between page targets.
    • on

      public void on(String eventName, Consumer<CdpEvent> handler)
      Subscribe to CDP events by method name.
    • off

      public void off(String eventName, Consumer<CdpEvent> handler)
      Unsubscribe from CDP events.
    • offAll

      public void offAll(String eventName)
      Remove all handlers for an event.
    • addExternalListener

      public void addExternalListener(CdpEventListener listener)
      Add an external event listener that receives all CDP events. Used for traffic recording, debugging, etc.
    • removeExternalListener

      public void removeExternalListener(CdpEventListener listener)
      Remove an external event listener.
    • close

      public void close()
    • isOpen

      public boolean isOpen()
    • getDefaultTimeout

      public Duration getDefaultTimeout()