An open API service indexing awesome lists of open source software.

https://github.com/autoscrape-labs/pydoll

Pydoll is a library for automating chromium-based browsers without a WebDriver, offering realistic interactions.
https://github.com/autoscrape-labs/pydoll

anti-detection asynchronous bot-detection browser-automation bypasscaptcha captcha-breaking cdp chromium playwright puppeteer python recaptcha-v3 selenium selenium-python turnstile-bypass webdriver webscraping

Last synced: 6 months ago
JSON representation

Pydoll is a library for automating chromium-based browsers without a WebDriver, offering realistic interactions.

Awesome Lists containing this project

README

          


Pydoll: Async Web Automation in Python!




Alt text






Tests
Ruff CI
Release
Total lines
Files
Comments


Pydoll is revolutionizing browser automation! Unlike other solutions, it eliminates the need for webdrivers,
providing a smooth and reliable automation experience with native asynchronous performance.


Documentation
Quick Start
Contributing
Support
License

## Key Features

🔹 **Zero Webdrivers!** Say goodbye to webdriver compatibility nightmares
🔹 **Native Captcha Bypass!** Smoothly handles Cloudflare Turnstile and reCAPTCHA v3*
🔹 **Async Performance** for lightning-fast automation
🔹 **Human-like Interactions** that mimic real user behavior
🔹 **Powerful Event System** for reactive automations
🔹 **Multi-browser Support** including Chrome and Edge

## Installation

```bash
pip install pydoll-python
```

## Quick Start

Get started with just a few lines of code:

```python
import asyncio
from pydoll.browser.chrome import Chrome
from pydoll.constants import By

async def main():
async with Chrome() as browser:
await browser.start()
page = await browser.get_page()

# Works with captcha-protected sites
await page.go_to('https://example-with-cloudflare.com')
button = await page.find_element(By.CSS_SELECTOR, 'button')
await button.click()

asyncio.run(main())
```

Need to configure your browser? Easy!

```python
from pydoll.browser.chrome import Chrome
from pydoll.browser.options import Options

options = Options()
# Add a proxy
options.add_argument('--proxy-server=username:password@ip:port')
# Custom browser location
options.binary_location = '/path/to/your/browser'

async with Chrome(options=options) as browser:
await browser.start()
# Your code here
```

## Documentation

For comprehensive documentation, examples, and deep dives into Pydoll's features, visit our [official documentation site](https://autoscrape-labs.github.io/pydoll/).

The documentation includes:
- Detailed usage examples
- API reference
- Advanced techniques and patterns
- Troubleshooting guides

## Sponsors

[CapSolver](https://www.capsolver.com/?utm_source=github&utm_medium=banner_repo&utm_campaign=scraping&utm_term=pydoll) is an AI-powered tool that easily bypasses Captchas, allowing uninterrupted access to public data with fast, reliable, and cost-effective. And please enjoy the code PYDOLL to get an extra 6% balance! and register [here](https://dashboard.capsolver.com/passport/?utm_source=github&utm_medium=banner_repo&utm_campaign=scraping&utm_term=pydoll)



Pydoll Sponsors

Pydoll is proudly supported by these amazing sponsors who believe in the future of webdriver-free automation. Their contributions make it possible for us to maintain and improve this project.
Interested in becoming a sponsor? Check out our [GitHub Sponsors page](https://github.com/sponsors/thalissonvs) for more information about the perks and benefits of sponsoring this project!

## Contributing

We'd love your help making Pydoll even better! Check out our [contribution guidelines](CONTRIBUTING.md) to get started. Whether it's fixing bugs, adding features, or improving documentation - all contributions are welcome!

Please make sure to:
- Write tests for new features or bug fixes
- Follow coding style and conventions
- Use conventional commits for pull requests
- Run lint and test checks before submitting

## Support My Work

If you find my projects helpful, consider [sponsoring me on GitHub](https://github.com/sponsors/thalissonvs).
You'll get access to exclusive perks like prioritized support, custom features, and more!

Can't sponsor right now? No problem — you can still help a lot by:
- ⭐ Starring the repo
- 🐦 Sharing it on social media
- 📝 Writing blog posts or tutorials
- 💬 Giving feedback or reporting issues

Every bit of support makes a difference — thank you! 🙌

## 📄 License

Pydoll is licensed under the [MIT License](LICENSE).

---


Pydoll — Making browser automation magical! ✨