About this project
Pydoll is a Python library for automating Chromium-based browsers without a WebDriver. It connects directly to Chrome over the DevTools Protocol via WebSocket, so there is no driver binary and no navigator.webdriver flag exposed. The API is asynchronous and fully typed, built on asyncio and checked with mypy.
Key capabilities described in the README:
- Humanized interactions: mouse movement along Bezier curves, realistic typing and scroll physics, enabled with humanize=True. The README states this is often enough to pass behavioral challenges such as Cloudflare Turnstile or reCAPTCHA v3, depending on browser and IP reputation.
- Fingerprint injection: tab.apply_fingerprint() overrides User-Agent, Client Hints, navigator, WebGL, canvas, screen, fonts, timezone and locale, keeping values consistent. The README says injected overrides survive toString and prototype introspection and propagate into Web Workers. It also notes Pydoll does not generate or ship fingerprints; example profiles are references only.
- Structured extraction: define a Pydantic model and call tab.extract() or tab.extract_all() to get typed, validated data, with CSS/XPath auto-detection, attribute targeting, custom transforms and nested models.
- Shadow DOM and iframes: support for shadow roots including closed ones, plus cross-origin iframes, using the same find/query/click API.
- Network control: request interception to block ads and trackers, traffic monitoring for API discovery, HAR 1.2 recording and replay, and authenticated HTTP requests that inherit the browser session.
- Page bundles: save a page and its assets as a zip, optionally inlining assets into a single HTML file.
- Concurrency and remote connections: multiple tabs and isolated browser contexts, plus connecting to browsers in Docker or on remote servers.
- Retry decorator with custom recovery logic and exponential backoff.
Installation is via pip install pydoll-python, with no WebDriver binaries or external dependencies required. The README notes the project is currently maintained by a single person, that development continues at a calmer pace, and that Firefox support is planned as a goal once the project reaches 10k stars. It also states that the Turnstile bypass is not a magic bypass and depends on environment and IP reputation.
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.