Registers a CDP event listener on a browser tab, running the callback as a background task to avoid blocking. Returns a callback ID for later removal.
async def on(
self,
event_name,
callback,
temporary=False,
) -> int:
"""
Register CDP event listener.
Callback runs in background task to prevent blocking.
Args:
event_name: CDP event name (e.g., 'Page.loadEventFired').
callback: Function called on event (sync or async).
temporary: Remove after first invocation.
Returns:
Callback ID for removal.
Note:
Corresponding domain must be enabled before events fire.
"""
async def callback_wrapper(event):
asyncio.create_task(callback(event))
if asyncio.iscoroutinefunction(callback):
function_to_register = callback_wrapper
else:
fun
... (truncated -- full source via MCP)
See the full source, get the GitHub permalink, and search 40K more like it.
Get a free API key