Cette page est affichée en anglais. Une traduction française est en cours.
ScriptsApr 2, 2026·3 min de lecture

Pydoll — Browser Automation Without WebDriver

Python async browser automation via Chrome DevTools Protocol. Built-in CAPTCHA solving, anti-detection, no Selenium needed. 6.7K+ stars.

Prêt pour agents

Staging sûr pour cet actif

Cet actif est d'abord staged. Le prompt copié demande à l'agent d'inspecter les fichiers staged avant d'activer scripts, config MCP ou config globale.

Stage only · 17/100Policy : staging
Surface agent
Tout agent MCP/CLI
Type
Script
Installation
Stage only
Confiance
Confiance : Established
Point d'entrée
pydoll.md
Commande de staging sûr
npx -y tokrepo@latest install 708bb34d-62a7-4b41-b5ed-9d921e932194 --target codex

Stage les fichiers d'abord; l'activation exige la revue du README et du plan staged.

TL;DR
Pydoll automates browsers via Chrome DevTools Protocol with built-in CAPTCHA solving and anti-detection.
§01

What it is

Pydoll is a Python async browser automation library that communicates directly with Chrome via the Chrome DevTools Protocol (CDP). Unlike Selenium or Playwright, it does not use WebDriver, which makes it harder for websites to detect automated browsing. Pydoll includes built-in CAPTCHA solving and anti-detection features.

Pydoll targets developers building web scrapers, automation scripts, or testing tools who need to bypass anti-bot protections that block traditional WebDriver-based solutions.

§02

How it saves time or tokens

WebDriver-based tools leave detectable fingerprints that trigger CAPTCHAs and blocks. Pydoll's CDP approach avoids these fingerprints, reducing the time spent handling bot detection. Built-in CAPTCHA solving means you do not need to integrate a separate CAPTCHA service. The async API handles multiple browser sessions concurrently without threading complexity.

§03

How to use

  1. Install Pydoll:
pip install pydoll
  1. Write an automation script:
import asyncio
from pydoll.browser import Chrome
from pydoll.constants import By

async def main():
    async with Chrome() as browser:
        page = await browser.start()
        await page.go_to('https://example.com')
        title = await page.title()
        print(f'Page title: {title}')

asyncio.run(main())
  1. Use element interaction methods for forms, clicks, and data extraction.
§04

Example

import asyncio
from pydoll.browser import Chrome
from pydoll.constants import By

async def scrape_data():
    async with Chrome() as browser:
        page = await browser.start()
        await page.go_to('https://example.com/products')

        # Wait for content to load
        await page.wait_for_selector('.product-card')

        # Extract data from elements
        products = await page.find_elements(By.CSS_SELECTOR, '.product-card')
        for product in products:
            name = await product.get_text()
            print(name)

        # Take a screenshot
        await page.screenshot('products.png')

asyncio.run(scrape_data())
§05

Related on TokRepo

This tool integrates with standard development workflows and requires minimal configuration to get started. It is available as open-source software with documentation and community support through the official repository. The project follows semantic versioning for stable releases.

For teams evaluating this tool, the key advantage is reducing manual work in repetitive tasks. The automation provided by the built-in features means less custom code to maintain and fewer integration points to manage. This translates directly to lower maintenance costs and faster iteration cycles.

§06

Common pitfalls

  • Pydoll requires a Chrome or Chromium browser installed on your system; it connects to Chrome via CDP rather than bundling its own browser.
  • The async API requires Python 3.7+ and familiarity with asyncio; synchronous code will not work with Pydoll's browser context manager.
  • Anti-detection features reduce but do not eliminate bot detection; sophisticated anti-bot systems may still flag CDP-based automation.

Questions fréquentes

How is Pydoll different from Selenium?+

Selenium uses the WebDriver protocol, which injects a driver binary between your code and the browser. Pydoll communicates directly via Chrome DevTools Protocol, leaving fewer detectable automation fingerprints. This makes Pydoll harder for websites to block.

Does Pydoll solve CAPTCHAs automatically?+

Pydoll includes built-in CAPTCHA solving capabilities for common CAPTCHA types. For advanced CAPTCHAs, you may still need external solving services, but the built-in solver handles many standard implementations.

What Python version does Pydoll require?+

Pydoll requires Python 3.7 or higher. It uses async/await syntax extensively, so familiarity with asyncio is needed for effective use.

Can I run Pydoll headless?+

Yes. Pydoll supports headless Chrome mode for running automation without a visible browser window. This is useful for server environments and CI pipelines.

Is Pydoll free and open source?+

Yes. Pydoll is open-source and free to use. Check the repository for the specific license terms. There are no API keys or usage fees.

Sources citées (3)
  • Pydoll GitHub— Pydoll uses Chrome DevTools Protocol for browser automation without WebDriver
  • Chrome DevTools Protocol— Chrome DevTools Protocol provides programmatic access to Chrome browser internal…
  • Pydoll README— Pydoll includes built-in CAPTCHA solving and anti-detection features
🙏

Source et remerciements

Created by autoscrape-labs. Licensed under MIT.

pydoll — ⭐ 6,700+

Thanks to autoscrape-labs for building a modern, detection-resistant browser automation library.

Fil de discussion

Connectez-vous pour rejoindre la discussion.
Aucun commentaire pour l'instant. Soyez le premier à partager votre avis.

Actifs similaires