Pydoll is a Python library designed for automating Chromium-based web browsers such as Chrome and Edge without relying on a traditional WebDriver layer. Instead of using external drivers, it connects directly to the Chrome DevTools Protocol through WebSocket, allowing scripts to control browser behavior more efficiently and with fewer compatibility issues. It provides a high-level API that simplifies common browser automation tasks while still offering access to low-level protocol features for advanced control. Its architecture is built around asynchronous programming using Python’s asyncio framework, enabling concurrent automation of multiple tabs and browser contexts. Pydoll also includes tools for monitoring and intercepting network traffic, allowing developers to analyze or modify requests and responses during automation workflows. It emphasizes realistic interactions and fingerprint management to reduce the likelihood of automated actions.
Features
- Direct control of Chromium-based browsers through the Chrome DevTools Protocol
- Asynchronous architecture built on Python asyncio for concurrent automation
- Hybrid automation combining browser UI actions with direct HTTP requests
- Network interception and monitoring for analyzing or modifying traffic
- Browser fingerprint configuration for consistent automated environments
- Support for multiple tabs, browser contexts, and remote browser connections