Connection Handler
pydoll.connection.connection_handler.ConnectionHandler
ConnectionHandler(connection_port=None, page_id=None, ws_address_resolver=get_browser_ws_address, ws_connector=connect, ws_address=None)
WebSocket connection manager for Chrome DevTools Protocol endpoints.
Handles connection lifecycle, command execution, and event subscription for both browser-level and page-level CDP endpoints.
Initialize connection handler.
| PARAMETER | DESCRIPTION |
|---|---|
connection_port
|
Browser's debugging server port.
TYPE:
|
page_id
|
Target page ID. If None, connects to browser-level endpoint.
TYPE:
|
ws_address_resolver
|
Function to resolve WebSocket URL from port.
TYPE:
|
ws_connector
|
WebSocket connection factory (mainly for testing).
TYPE:
|
ws_address
|
WebSocket address. It has priority over connection_port and page_id.
TYPE:
|
execute_command
async
Send CDP command and await response.
| PARAMETER | DESCRIPTION |
|---|---|
command
|
CDP command to send.
TYPE:
|
timeout
|
Maximum seconds to wait for response.
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
T_CommandResponse
|
Parsed response object matching command's expected type. |
| RAISES | DESCRIPTION |
|---|---|
CommandExecutionTimeout
|
If browser doesn't respond within timeout. |
WebSocketConnectionClosed
|
If connection closes during execution. |
register_callback
async
Register event listener for CDP events.
| PARAMETER | DESCRIPTION |
|---|---|
event_name
|
CDP event name (e.g., 'Page.loadEventFired').
TYPE:
|
callback
|
Async function called when event occurs.
TYPE:
|
temporary
|
If True, callback removed after first trigger.
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
int
|
Callback ID for later removal. |
Note
Corresponding CDP domain must be enabled before events fire.