For browser automation libraries, the strongest matches are googlechrome/puppeteer (Puppeteer is a flagship browser automation library providing programmatic), ariya/phantomjs (PhantomJS is a headless WebKit browser engine with programmatic) and pyppeteer/pyppeteer (Pyppeteer is a Python-based browser automation library for controlling). ultrafunkamsterdam/undetected-chromedriver and microsoft/playwright-python round out the shortlist. Each is ranked by relevance to your query, popularity and recent activity.
Hand-picked browser automation libraries ranked by GitHub stars and activity. Compare the top tools and pick the right one for your project.
Puppeteer is a JavaScript library for programmatically controlling Chrome and Firefox through the Chrome DevTools Protocol or the WebDriver BiDi protocol. It launches and manages browser instances—typically without a visible user interface—to automate interactions with web pages, enabling navigation, clicking, typing, and data extraction entirely through code. The library distinguishes itself through deep integration with the Chromium embedding layer, allowing fine-grained process configuration with custom flags, permissions, and sandbox policies. It maintains multiple concurrent command stre
Puppeteer is a flagship browser automation library providing programmatic control over Chrome and Firefox with headless support, an async API, network interception, and screenshot capabilities.
PhantomJS is a scriptable, headless browser engine based on WebKit that provides a programmatic interface for automating web page interactions. It operates without a graphical user interface, allowing for the execution of JavaScript to navigate pages, manipulate the document object model, and perform functional testing of web applications. The tool distinguishes itself by providing low-level control over the browser rendering lifecycle and network stack. It enables real-time interception and modification of network traffic, alongside the ability to generate visual snapshots and document expor
PhantomJS is a headless WebKit browser engine with programmatic scriptability for automating page interactions, network traffic interception, and PDF exports, fitting the browser automation library category though development has long been discontinued.
Pyppeteer is a Python library for controlling Chromium-based browsers using the Chrome DevTools Protocol. It functions as a headless browser automation tool, allowing for the programmatic navigation of web pages and the extraction of data from dynamic websites. The project provides low-level browser control through direct communication with the Chrome DevTools Protocol, enabling the interception and modification of network traffic. It differentiates itself by offering specialized performance profiling capabilities, including the measurement of JavaScript and CSS code coverage and the capture
Pyppeteer is a Python-based browser automation library for controlling Chromium via the DevTools Protocol, though it lacks multi-browser support and is largely superseded by newer tools.
Undetected-chromedriver is a framework for automated browser navigation designed to bypass anti-bot security measures. It functions by patching browser drivers at the binary level to obscure automation signals, allowing scripts to interact with protected websites without being flagged or blocked by security services. The project distinguishes itself through its ability to maintain stealth during automated sessions, including those executed in headless mode. It achieves this by injecting custom configurations to mimic human user behavior and by hooking into low-level browser debugging protocol
This Python framework provides low-level chromedriver patching specifically for headless browser automation and anti-detection, though it is focused narrowly on Selenium compatibility rather than offering a standalone cross-browser API.
Playwright for Python is a browser automation framework designed for end-to-end testing, web scraping, and user interaction simulation. It functions as a headless browser controller that enables programmatic navigation, data extraction, and the execution of complex workflows across multiple rendering engines. The framework distinguishes itself through an actionability-aware interaction engine that automatically verifies element readiness before performing actions, significantly reducing test flakiness. It utilizes isolated browser contexts to maintain separate storage and cookies for parallel
Playwright for Python is a robust browser automation framework that delivers headless browser control, multi-engine support, and async capabilities for testing and scraping.
Puppeteer Sharp is a web browser automation library and a headless Chrome .NET API. It provides a type-safe C# interface for controlling headless browsers, functioning as a Chrome DevTools Protocol wrapper that translates .NET method calls into JSON-RPC messages. The project enables programmatic navigation of pages, interaction with elements, and the execution of JavaScript within a .NET environment. It serves as an end-to-end testing framework for simulating user workflows and verifying web application behavior. Additional capabilities include automated screenshot generation for visual regr
Puppeteer Sharp provides a .NET library for programmatic headless browser control, enabling element interaction, network interception, screenshot generation, and async workflow automation.
Camoufox is a Firefox-based stealth automation browser designed to evade detection during automated browsing. It combines a fingerprint randomization engine that generates thousands of unique device attributes per session, native-level API interception to spoof WebRTC, WebGL, media, and other fingerprintable properties, and human behavior simulation that moves the cursor along natural, distance-aware trajectories. The browser is compiled from source with build-time stealth patches and runs headlessly via a lightweight virtual display buffer, making it suitable for web scraping, automated testi
Camoufox is a stealth-focused, Firefox-based browser designed for web automation and scraping that includes anti-detection and fingerprint spoofing features, though it operates as a specialized browser binary rather than a full programmatic control library on its own.
Capybara is a browser automation library and web application acceptance test framework used to simulate user behavior and verify functional requirements. It serves as a cross-browser testing tool and headless browser orchestrator, allowing for the execution of test suites across multiple browser engines. The project provides a driver-agnostic interaction layer that abstracts different browser engines, enabling users to switch between headless and full browser drivers. It supports multi-user session simulation by maintaining independent browser states and cookies to test interactions between i
Capybara provides a driver-agnostic browser automation and acceptance testing framework in Ruby that handles cross-browser execution and session isolation, though it lacks native async/await patterns and built-in stealth features.
Scraperjs is a JavaScript web scraping library and headless browser automation tool designed to extract structured data from both static HTML and JavaScript-rendered websites. It functions as an asynchronous scraping workflow orchestrator and a selector-based engine for transforming unstructured web content into usable data. The library distinguishes itself by managing a shared browser instance across multiple tasks to optimize resource usage and reduce startup latency. It supports custom script injection into sandboxed browser environments to manipulate the DOM or execute browser-side logic
Scraperjs is a JavaScript web scraping and headless browser automation library that provides asynchronous workflow orchestration and DOM extraction, though it is narrower in scope and lacks modern cross-browser and network interception features compared to flagship automation tools.
Crawlee is a web scraping framework designed for building scalable, reliable, and distributed data extraction pipelines. It provides a unified interface for managing headless browser automation and lightweight HTTP requests, allowing developers to handle complex web navigation, dynamic content rendering, and large-scale data collection within a single, modular architecture. The project distinguishes itself through its resource-aware concurrency controller, which dynamically scales task execution based on real-time CPU and memory usage to prevent host machine exhaustion. It also features a rob
Crawlee is a web scraping and browser automation framework built on top of tools like Playwright and Puppeteer, offering robust headless browser control, proxy management, and data extraction capabilities for automated workflows.
This project provides an agentic web interaction engine designed to facilitate autonomous browser automation and large-scale data extraction. It serves as a framework for building and deploying agents that can navigate complex, JavaScript-rendered websites, interact with page elements, and execute multi-step workflows. By providing a structured environment for browser control, the system enables the creation of reusable automation scripts that can be deployed across diverse web platforms. The platform distinguishes itself through a comprehensive suite of security and traffic management tools,
This repository provides an agentic browser automation framework equipped for web scraping and workflow tasks, though it is structured as an AI agent skill set rather than a raw programmatic library.
DrissionPage is a Python library designed for web automation, data scraping, and testing. It functions as a browser automation framework that communicates directly with the browser engine via the Chrome DevTools Protocol, allowing for precise control over browser instances and page states. The library distinguishes itself by providing a unified interface that combines full browser automation with raw HTTP request capabilities. This hybrid approach allows users to switch between lightweight network requests and heavy browser-based interactions within a single workflow. By wrapping asynchronous
DrissionPage is a Python-based browser automation library that provides direct browser control for scraping and testing via the Chrome DevTools Protocol, though it lacks native cross-browser support beyond Chromium-based engines.
nodriver is an asynchronous Chromium browser automation framework that provides headless control and web scraping capabilities. It functions as a Chrome DevTools Protocol client, allowing for granular engine control by attaching directly to the browser's debug port without the need for external driver binaries. The framework is specifically designed as an anti-bot detection bypass tool. It modifies browser fingerprints and protocol headers to evade automated security systems, handle security warnings, and bypass common obstacles like insecure connection alerts. The system covers a broad rang
Nodriver is an asynchronous Python browser automation library that directly controls Chromium via the DevTools Protocol without external drivers, providing headless control and stealth features well-suited for scraping and workflow automation.
Playwright is a comprehensive browser automation framework designed for end-to-end testing and web workflow automation. It provides a unified API to drive web applications across multiple browser engines, enabling developers to simulate complex user interactions, perform web scraping, and validate application behavior in consistent, isolated environments. The framework distinguishes itself through a web-first testing paradigm that prioritizes stability and resilience. By utilizing an auto-waiting actionability engine and accessibility-tree-based locators, it eliminates common sources of test
Playwright is a comprehensive browser automation and testing library that provides unified control over multiple engines with async capabilities, element interaction, and screenshot generation.
Selenium is a comprehensive browser automation framework that provides a standardized interface for controlling web browsers to perform automated tasks, user interactions, and data extraction. It functions as a cross-browser testing tool, enabling developers to execute identical automation scripts across various browser engines and operating systems to ensure consistent application behavior. By implementing the WebDriver protocol, it maps high-level automation commands to browser-specific drivers using a standardized HTTP-based wire protocol. The project distinguishes itself through its distr
Selenium is a comprehensive browser automation framework providing cross-browser control, element interaction, and screenshot generation through a standardized WebDriver API.
Puppeteer is a browser automation library that provides a programmatic interface for controlling web browsers to execute tasks, simulate user interactions, and perform end-to-end testing. It functions as a headless browser controller, managing browser lifecycles, isolated session contexts, and remote connections to facilitate stable, automated web-based workflows. The library distinguishes itself through its deep integration with the Chrome DevTools Protocol, utilizing a bidirectional message bus to execute commands and receive real-time event notifications. It supports advanced automation pa
Puppeteer is a browser automation library that offers robust headless browser control, async/await APIs, and comprehensive interaction features over the Chrome DevTools Protocol, which directly fits your search.
Taiko is a browser automation framework and web end-to-end testing library used to perform programmatic user actions and verify application behavior. It functions as a headless browser testing tool capable of simulating real interactions and asserting page states in Chromium and Firefox. The project includes a browser interaction recorder that captures live actions and exports them as executable JavaScript automation scripts. It also serves as a web accessibility auditor, analyzing pages to detect accessibility violations and ensure compliance with inclusive design standards. The framework c
Taiko is a JavaScript browser automation and testing library that provides programmatic headless browser control, element interaction, and cross-browser support, though it lacks some advanced anti-detection features.
Nightmare is an Electron-based browser automation library and headless browser controller. It provides the infrastructure to programmatically navigate web pages, interact with DOM elements, and execute JavaScript within a background browser instance. The project distinguishes itself by integrating a full Chromium instance within an Electron shell, allowing for the management of browser sessions, network proxy settings, and persistent storage partitions. It enables the capture of page states as PNG screenshots, PDF documents, or HTML files. The tool covers a broad range of capabilities includ
Nightmare is a JavaScript browser automation library built on Electron that provides headless control, element interaction, and screenshot capabilities, though it relies on an older architecture compared to modern automation tools.
This project is a high-performance headless browser engine designed for scalable web automation, data extraction, and AI agent integration. It provides a specialized environment that allows autonomous agents and testing frameworks to interact with web content through standardized remote control protocols. By executing pages in a lightweight, headless state, the engine minimizes resource consumption while maintaining the ability to perform complex navigation and dynamic content rendering. The platform distinguishes itself through deep integration with AI-centric communication layers and advanc
Lightpanda is a specialized headless browser engine built for scalable automation and data extraction, though as a standalone engine rather than a traditional high-level language library, it targets CDP-based control rather than native async/await APIs in every target language.
Capybara is a browser automation testing library and framework for web application acceptance testing. It provides a high-level API for automating browser navigation and element interaction to validate user-facing features. The project features a cross-browser driver interface that allows switching between headless and full browser environments without modifying the underlying test code. This abstraction enables the simulation of complex web workflows across different browser drivers and environments. The suite covers user interaction simulation, including form filling, click events, and bro
Capybara is a browser automation framework for Ruby that provides a high-level API for driving browser sessions and simulating user interactions across different drivers, though it lacks native modern async/await patterns and built-in anti-detection features.
Nightwatch is a Node.js test automation tool and W3C WebDriver test framework designed for executing functional test suites and verifying system behavior. It provides a suite of utilities for web browser automation, native mobile application testing, and REST API validation. The project includes specialized tools for visual regression testing, which compares current screenshots against baseline images to detect unexpected changes. It also features an accessibility auditing tool to check user interface elements against established standards for compliance. The framework covers a broad range o
Nightwatch is a Node.js-based web browser automation and testing framework that supports element interaction and visual regression testing, though it is primarily designed as a test runner rather than a general-purpose scraping library.
Dev-browser is a browser automation framework and headless browser controller that provides a sandboxed script runner for executing web tasks. It functions as a vision-based web automator and a specialized interface for large language models, enabling the navigation and interaction of web pages within isolated execution environments. The project distinguishes itself by converting complex web pages into simplified representations and coordinate-based maps, allowing AI agents to analyze layouts and perform actions based on pixel locations. It employs a mapping system that assigns unique identif
Dev-browser is a TypeScript-based browser automation framework designed for headless execution and agentic web workflows, making it a fitting programmatic tool for automated browser tasks despite its specialized focus on AI and vision-based interaction.
pydoll is a Chrome DevTools Protocol automation library and headless browser controller used for web data extraction and parallel browser automation. It controls Chromium-based browsers via direct WebSocket connections, allowing it to manage isolated browser contexts and tabs while bypassing the overhead and detection associated with WebDriver. The project features an anti-bot evasion framework that mimics natural human behavior, including mouse movements generated via Bezier curves and variable typing patterns. It provides specialized stealth capabilities to bypass behavioral analysis and au
Pydoll is a Python-based browser automation library leveraging the Chrome DevTools Protocol for headless browser control and scraping, though it lacks cross-browser support since it is focused exclusively on Chromium.
Cypress is a browser-based testing framework designed for writing and running automated tests directly inside the browser. It serves as an end-to-end testing framework, a frontend component testing tool, and a web application test runner. The project also functions as a headless browser automation tool and a network traffic interceptor. The system differentiates itself by executing test code within the same browser process as the application, allowing for direct access to the DOM. It includes a network traffic interception system to stub and manipulate browser requests, as well as a graphical
Cypress is an end-to-end testing framework that operates by controlling a browser directly, providing headless execution, network interception, and interaction capabilities, though its architecture is tailored for testing rather than general scraping or workflow automation.
This project serves as an agentic browser controller, providing a programmatic bridge that enables autonomous software agents to navigate web pages and interact with document elements. It functions as a browser automation protocol, facilitating headless browser operations and automated web interactions to perform repetitive tasks and end-to-end testing without manual human input. The system distinguishes itself by utilizing the Chrome DevTools Protocol to establish a bidirectional communication channel with the browser engine. This allows for protocol-based remote control, where external appl
This project serves as an agentic browser controller providing programmatic headless browser interaction via the Chrome DevTools Protocol, though it is specifically structured as an MCP server rather than a general-purpose scripting library.
php-webdriver is a WebDriver PHP client and browser automation framework that implements the W3C WebDriver standard. It serves as a programmatic interface for controlling web browsers, executing JavaScript, and managing browser sessions in both headed and headless environments. The library functions as a Selenium protocol implementation, allowing PHP applications to communicate with browser drivers such as ChromeDriver or GeckoDriver. It provides the ability to automate user actions, navigate pages, and validate DOM elements for web UI testing. Its capabilities cover broad areas of browser i
This repository provides a programmatic PHP client for the W3C WebDriver standard, enabling browser control, testing, and workflow automation, though it operates specifically within the PHP ecosystem rather than being a multi-language framework.
php-webdriver is a browser automation library and PHP language binding for the Selenium WebDriver protocol. It serves as a web application testing tool that allows for the programmatic control of web browsers to simulate user interactions and navigate web pages. The project implements the WebDriver protocol to manage browser sessions and execute automated functional tests. It enables integration with Selenium servers to perform automated web testing and support headless browser workflows. The library provides capabilities for configuring browser properties and managing the lifecycle of remot
This PHP library implements the Selenium WebDriver protocol to provide programmatic browser control, making it a solid choice for automated testing and scraping despite its language-specific scope.
Rod is a high-level Go library for browser automation and scraping built on the DevTools protocol, offering headless browser control, screenshots, and network interception via a clean API.
Crawlee-python is a web crawling framework for building scalable scrapers using Python. It serves as a comprehensive tool for web scraping automation, providing a system to extract structured data from websites using both lightweight HTTP requests and headless browser automation. The framework is distinguished by its anti-bot evasion capabilities, which include browser fingerprint impersonation and tiered proxy rotation to bypass detection systems and solve challenges such as Cloudflare. It also incorporates artificial intelligence for autonomous website navigation and schema-based data extra
Crawlee-python is a programmatic web crawling and browser automation framework that provides headless browser control and anti-detection features for Python, fitting the requested scraping and automation workflow.
Browser-use is a framework for building autonomous agents that navigate, interact with, and extract data from web interfaces using natural language instructions. By acting as an orchestration layer between large language models and browser automation protocols, it enables the execution of complex, multi-step workflows without relying on brittle selectors. The system functions as a headless browser controller, providing a programmatic interface to manage browser instances and execute granular interactions. The project distinguishes itself through its ability to translate high-level intent into
This project serves as an AI agent framework built on top of underlying browser automation libraries, offering programmatic headless browser control and workflow automation via natural language, though it functions primarily as an orchestration layer rather than a direct low-level automation library.
Playwright is a Java library to automate Chromium, Firefox and WebKit with a single API. Playwright is built to enable cross-browser web automation that is ever-green, capable, reliable and fast.
Playwright is the Java language binding for a cross-browser automation library that supports headless control and multi-browser drivers, though it lacks some of the visitor's specific helper features out of the box.
| | Linux | macOS | Windows | | :--- | :---: | :---: | :---: | | Chromium 148.0.7778.96 | ✅ | ✅ | ✅ | | WebKit 26.4 | ✅ | ✅ | ✅ | | Firefox 150.0.2 | ✅ | ✅ | ✅ |
Playwright .NET is a cross-browser automation library providing programmatic control over Chromium, WebKit, and Firefox with native async support, though it lacks some built-in stealth features and is tied to the .NET ecosystem rather than multi-language bindings.
Browser Control is a command-line browser control tool written in Rust that communicates directly with browser instances using low-level remote debugging protocol commands over web sockets. It provides a stateless command-line interface that processes single terminal commands and outputs compact text or JSON for automated scripts and coding agents. The project manages real browser process lifecycles, connects to cloud-hosted sessions or local instances, and runs multi-step automation scripts from files or piped input streams. The utility features stable reference element mapping that generate
This Rust library provides programmatic control over a real browser via the Chrome DevTools Protocol, though it is delivered as a CLI rather than a conventional library API.
This project is an LLM browser automation framework and AI agent browser interface. It serves as a control layer that translates natural language instructions into browser interactions using large language models, enabling AI agents to navigate and interact with web pages through standardized browser-control functions. The system functions as an RPA workflow orchestrator and headless browser management tool, capable of recording and replaying deterministic browser sequences to automate repetitive tasks. It distinguishes itself through stealth configurations, including residential proxies and
This project is an AI-driven browser automation framework that translates natural language into browser interactions, though it focuses more on LLM agent orchestration than a standard programmatic API library.
WebDriverIO is a Node.js test automation framework used for automating functional tests across web browsers and mobile applications. It acts as a WebDriver protocol client that manages remote browser sessions and executes commands against WebDriver and Appium servers to perform end-to-end testing. The framework is distinguished by its ability to control both native and hybrid mobile applications and its support for running automated suites across local machines, remote grids, and cloud device providers. It includes specialized capabilities for coordinating multi-browser interactions and estab
WebDriverIO is a Node.js-based test automation framework that provides programmatic browser control, element interaction, and async API support for web applications.
CodeceptJS is a Node.js end-to-end testing framework used for writing acceptance and functional tests for web and mobile applications. It functions as an automated browser testing suite and cross-browser automation engine that allows users to simulate end-user interactions and verify page content using a JavaScript-based domain-specific language. The framework implements a behavior-driven development approach, enabling the creation of scenario-driven tests that describe application behavior in a human-readable format. It utilizes the page object model to encapsulate UI elements and logic into
CodeceptJS is a JavaScript-based end-to-end testing and browser automation framework that provides element interaction and cross-browser execution, though it focuses on behavior-driven testing rather than raw low-level script control.
A Rust library for browser automation via Chrome DevTools Protocol with built-in AI integration through Model Context Protocol (MCP)
This repository provides a Rust library for programmatic browser automation via the Chrome DevTools Protocol, fitting the category even though it focuses on AI-driven workflows rather than traditional scraping or testing APIs.
| रिपॉजिटरी | स्टार्स | भाषा | लाइसेंस | अंतिम पुश |
|---|---|---|---|---|
| googlechrome/puppeteer | 95K | TypeScript | Apache-2.0 | |
| ariya/phantomjs | 29.5K | C++ | bsd-3-clause | |
| pyppeteer/pyppeteer | 3.9K | Python | NOASSERTION | |
| ultrafunkamsterdam/undetected-chromedriver | 12.4K | Python | gpl-3.0 | |
| microsoft/playwright-python | 14.3K | Python | apache-2.0 | |
| kblok/puppeteer-sharp | 3.9K | C# | MIT | |
| daijro/camoufox | 5.5K | C++ | mpl-2.0 | |
| teamcapybara/capybara | 10.2K | Ruby | MIT | |
| ruipgil/scraperjs | 3.7K | JavaScript | MIT | |
| apify/crawlee | 24K | TypeScript | Apache-2.0 |