Installation
websockets >= 12.0, pydantic >= 2.0, aiohttp >= 3.9.0, anyio >= 4.0, httpx >= 0.27.0
Quick Start
Async API (recommended)
Sync API (scripts and notebooks)
Session Helper
Semantic Selectors
API Mapping
The Python SDK mirrors the TypeScript API with snake_case naming:| TypeScript | Python |
|---|---|
client.connect() | await client.connect() |
client.launch({...}) | await client.launch(browser=..., headless=...) |
client.createPage({url}) | await client.create_page(url=...) |
client.navigate(url) | await client.navigate(url) |
client.click(selector) | await client.click(selector) |
client.fill(selector, value) | await client.fill(selector, value) |
client.observe({...}) | await client.observe(...) |
client.act(steps) | await client.act(steps) |
client.extract({...}) | await client.extract(...) |
client.screenshot() | await client.screenshot() |
client.listPages() | await client.list_pages() |
client.closeBrowser() | await client.close_browser() |
Agent Methods
observe
act
extract
Multi-Context Support
Frame Support
Error Handling
Pydantic Models
All types use Pydantic v2BaseModel with camelCase aliases for JSON compatibility: