For a library for headless browser automation, the first results are googlechrome/puppeteer (Puppeteer is a programmatic JavaScript library for controlling headless Chrome and Firefox instances, offering comprehensive browser automation, network interception, and PDF and screenshot generation), ariya/phantomjs (PhantomJS is a scriptable headless browser engine offering programmatic automation, network interception, and page rendering, though it is largely deprecated in favor of modern alternatives like Puppeteer or Playwright) and seleniumbase/seleniumbase (SeleniumBase is a Python-based browser automation and scraping framework that provides a programmatic API for web testing, multi-browser support, stealth anti-detection features, and screenshot capture). microsoft/playwright-python and facebook/php-webdriver round out the shortlist. Compare the match explanations and check the project documentation against your requirements.
Programmatic tools and frameworks for controlling web browsers to perform automated scraping and testing tasks.
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 programmatic JavaScript library for controlling headless Chrome and Firefox instances, offering comprehensive browser automation, network interception, and PDF and screenshot generation.
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 scriptable headless browser engine offering programmatic automation, network interception, and page rendering, though it is largely deprecated in favor of modern alternatives like Puppeteer or Playwright.
SeleniumBase is a Python-based framework designed for end-to-end web application testing and automated web scraping. It provides a unified interface for browser orchestration, managing browser lifecycles, and executing complex interaction sequences across multiple browser vendors and operating systems. The framework simplifies the development of automation workflows by handling driver provisioning, element synchronization, and project scaffolding. The project distinguishes itself through specialized stealth configurations that modify browser fingerprints to bypass anti-bot detection mechanism
SeleniumBase is a Python-based browser automation and scraping framework that provides a programmatic API for web testing, multi-browser support, stealth anti-detection features, and screenshot capture.
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 provides programmatic control over multiple rendering engines for scraping, testing, and headless operation.
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 repository provides a PHP binding and automation library for the Selenium WebDriver protocol, enabling programmatic browser control for testing and automation tasks, though it requires an external Selenium server rather than being a standalone browser runner.
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 programmatic browser automation library that provides full headless control, network interception, and multi-browser support for testing and scraping workflows.
Rod is a high-level Go library for controlling Chrome-based browsers that provides headless operation, network interception, and automation capabilities, though it is limited to Chrome rather than supporting multiple browser engines.
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 programmatic JavaScript library for controlling an Electron-based headless browser, though its maintenance status is older and it lacks modern multi-browser support compared to newer automation frameworks.
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 robust programmatic library for controlling web browsers across multiple engines, making it a flagship choice for automation, scraping, and testing tasks.
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 programmatic JavaScript library for controlling headless browsers to perform end-to-end testing and automation, though it focuses primarily on a high-level API rather than raw low-level multi-browser control.
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 provides programmatic browser automation, network interception, and headless execution, though its primary focus is on end-to-end and component testing rather than general web scraping.
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 library provides a programmatic WebDriver client for PHP to control web browsers in headless environments, though it relies on external browser drivers rather than bundling its own.
CasperJS is a headless browser testing framework and web functional testing suite. It provides a toolkit for automating web browser interactions to perform functional testing and visual verification of web applications. The project functions as a WebDriver automation tool and a browser screenshot utility, enabling the capture of images of web pages or specific elements to verify visual layout. It also serves as an XML test report generator, exporting the results of automated browser test suites into a standardized format for reporting tools. The framework covers automated browser testing, fu
CasperJS is a programmatic JavaScript testing framework for headless browser automation and web scraping, though it relies on legacy engines like PhantomJS rather than modern multi-browser architectures.
Maxun is an open-source web scraping and automation platform designed to transform dynamic website content into structured data. By leveraging artificial intelligence to interpret natural language prompts, the system identifies page elements and extracts information without requiring manual selector configuration. It serves as a bridge between raw web content and intelligent workflows, providing structured outputs in formats optimized for large language model ingestion and agent-based applications. The platform distinguishes itself through its ability to handle complex, authenticated, and dyn
Maxun is a self-hosted web scraping and automation platform built on top of Playwright, offering browser automation and data extraction capabilities suited for programmatic workflows and AI agents.
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 web automation and scraping library providing programmatic control via the Chrome DevTools Protocol, fitting the category well despite focusing primarily on Chromium-based browsers.
Crawl4AI is an AI-powered web crawling and data extraction engine designed to transform complex web content into structured formats. It functions as a headless browser orchestrator, enabling the navigation of dynamic websites, the execution of custom scripts, and the capture of visual assets like screenshots and PDFs. By integrating language models directly into the extraction workflow, the system converts raw HTML into clean, structured data or Markdown files optimized for downstream ingestion. The platform distinguishes itself through a distributed, self-hosted infrastructure that manages l
Crawl4AI is a Python-based web crawling and data extraction engine that orchestrates headless browsers for scraping and structured data generation, aligning well with programmatic automation needs though more specialized toward AI-ready output than general-purpose testing.
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 is a .NET library for controlling headless browsers via code, providing programmatic automation, screenshot generation, and testing capabilities tailored for C# developers.
CasperJS is a scripting utility and testing framework for automating web scenarios via headless browsers. It enables the execution of navigation steps and form inputs to automate complex user scenarios, extract web data, and validate the state of remote pages. The project provides specific tooling for PhantomJS and SlimerJS, allowing users to write programmable sequences for web navigation and data extraction. It includes capabilities for capturing visual snapshots of full pages or specific elements to perform user interface regression testing. The framework covers broad automation areas inc
CasperJS is a scripting and testing framework designed to automate web scenarios using underlying headless browsers, covering key automation and scraping capabilities.
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 well-established browser automation and scraping framework offering multi-language APIs, headless execution, and screenshot generation, though it lacks built-in anti-detection measures compared to newer alternatives.
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 provides a programmatic Ruby framework for browser automation and testing with headless capabilities and cross-browser driver support, though it is tailored specifically for acceptance testing rather than general web scraping.
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 test automation framework that provides a programmatic API to control web browsers for testing and automation tasks, though it focuses more on WebDriver-based testing than general-purpose headless scraping.
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 and scraping library that controls Chromium via the Chrome DevTools Protocol with built-in anti-detection measures, matching the core functionality needed for programmatic web control despite lacking multi-browser support.
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
This Python framework provides asynchronous browser automation and scraping capabilities directly through the Chrome DevTools Protocol without external driver binaries, meeting the core requirements for programmatic headless control.
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 library for controlling Chromium browsers programmatically via the Chrome DevTools Protocol, supporting headless operation, network interception, and automation tasks.
chromedp is a browser automation framework and driver that controls web browsers via the Chrome DevTools Protocol. It functions as a headless browser automation tool and web browser controller, enabling the programmatic management of browser sessions, targets, and network responses through a remote debugging interface. The project provides specialized capabilities for Chrome DevTools Protocol automation, including headless browser testing, web scraping and data extraction, and mobile device emulation. It also supports browser-based visual regression by capturing precise screenshots of web pag
This repository provides a programmatic library to control browsers via the Chrome DevTools Protocol, making it a strong tool for scraping and automation, though it is written for Go rather than being a universal multi-language framework.
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 headless browser automation framework built for programmatic control and AI-driven web tasks, though it focuses heavily on vision-based coordinate interactions rather than traditional scraping APIs.
This project is an automation framework that connects large language models to web browsers via the Chrome DevTools Protocol for autonomous task execution. It functions as a bridge between intelligent agents and browser engines, allowing for the direct control of browser sessions and profiles. The framework features a self-healing agent capable of generating and executing custom scripts during runtime to resolve failures and optimize browser tasks. It supports stealthy deployment through the use of integrated proxies and captcha solvers to bypass bot detection and security mitigations. The s
This repository provides an AI-driven automation framework that controls a headless web browser via the Chrome DevTools Protocol to execute autonomous tasks.
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 programmatic web scraping framework that abstracts headless browser automation and HTTP requests into a unified pipeline, though it is specifically a crawler rather than a general-purpose browser controller.
Obscura is a web scraping infrastructure and headless browser server designed for AI agents. It provides a system for AI models to control browser sessions, interact with websites, and extract web data using a WebSocket implementation of the Chrome DevTools Protocol. The project focuses on bot detection evasion by randomizing browser fingerprints, masking native functions, and blocking tracking scripts to mimic human behavior. It further secures identities through a traffic layer that routes network requests via HTTP or SOCKS5 proxies. The system supports large-scale data extraction through
Obscura is a headless browser server and scraping infrastructure controlled via a WebSocket-based Chrome DevTools Protocol, providing anti-detection measures and proxy routing for browser automation and AI agents, though it focuses more on remote server infrastructure than a direct in-process programmatic library.
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 web crawling framework built on top of browser automation tools to handle scraping, anti-detection, and extraction tasks in Python, making it a strong fit for automation work even though it is framed primarily as a scraper.
This project is a distributed headless Chrome web crawler and data extraction framework. It functions as a JavaScript rendering engine that uses a headless browser to process dynamic pages, extracting structured data from websites that require JavaScript execution. The system is designed for scalable data collection across multiple nodes, using distributed task synchronization and shared caches to prevent duplicate work. It distinguishes itself through the ability to emulate specific client environments by configuring user agents and viewport dimensions, while capturing visual evidence such a
This repository provides a distributed web scraping and crawling framework built around a headless browser, offering programmatic control for data extraction and automation tasks.
Firecrawl is a web data extraction platform designed to convert unstructured web content into clean, LLM-ready formats like markdown or JSON. It functions as an autonomous web crawler and scraper, capable of mapping entire domains, performing recursive navigation, and executing complex data gathering tasks. By leveraging headless browser orchestration, the system handles dynamic, JavaScript-heavy pages to ensure comprehensive data capture. The platform distinguishes itself through its focus on agentic workflows, providing a programmatic interface that allows autonomous agents to perform live
Firecrawl is an autonomous web scraping and crawler platform with a programmatic API and headless browser orchestration for converting web pages into clean data, though it focuses more on LLM-ready extraction than general-purpose browser testing.
Steel is a cloud browser automation platform that provides a REST API for launching and controlling remote Chrome browser sessions. It enables programmatic browsing and web scraping using standard automation tools like Puppeteer, Playwright, and Selenium, connecting to cloud-hosted browser instances via WebSocket and the Chrome DevTools Protocol. The platform supports both headless and headful browser sessions, with language-specific SDKs for TypeScript and Python. The service distinguishes itself through comprehensive anti-detection capabilities, including residential proxy rotation, CAPTCHA
Steel is a cloud-hosted browser automation platform accessed via API and standard automation tools like Playwright or Puppeteer, though it operates as a remote service rather than an embedded local library.
This project is a Node.js library and browser automation framework that provides a JavaScript interface for the Chrome DevTools Protocol. It functions as a headless browser controller, enabling the programmatic management of browser targets, the execution of scripts, and the monitoring of network activity via WebSocket connections. The interface includes an interactive shell and REPL for real-time command execution and event binding. It also provides utilities for retrieving protocol descriptors and inspecting embedded documentation to identify available commands and parameter types. The lib
This project is a Node.js library that provides a programmatic interface to the Chrome DevTools Protocol for headless browser control and automation, though it operates as a low-level client rather than a high-level cross-browser framework.
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 framework provides a programmatic interface for headless browser control and web automation, though its primary focus is on autonomous LLM agent orchestration rather than low-level scripting.
Carlo is a Node.js web rendering framework and desktop application bundler. It functions as a server-side browser controller and headless automation bridge that uses a local browser instance as the primary user interface for Node.js applications. The project distinguishes itself by providing a bidirectional bridge for cross-environment JavaScript integration, allowing server-side functions to be exposed to the browser window object and enabling the execution of page-context code from the server. It includes capabilities for packaging applications into standalone desktop executables, complete
Carlo is a Node.js-based headless browser automation and rendering controller that provides a programmatic bridge for web automation and server-side browser control, though it is primarily focused on desktop application bundling and Chrome integration rather than full multi-browser scraping.
Zombie is a headless browser testing framework and full-stack test runner that simulates a complete browser environment entirely within Node.js. It renders and manipulates a virtual DOM using JavaScript alone, without relying on any native browser engine, and processes events, scripts, and page interactions through a single-threaded event loop. This makes it a Node.js browser automation tool that can load, navigate, and interact with web pages programmatically for testing, scraping, or debugging purposes. The framework distinguishes itself through several integrated capabilities that work tog
Zombie provides a programmatic JavaScript API to simulate a headless browser environment within Node.js for testing and scraping, though it relies on a virtual DOM rather than controlling a native browser engine.
This library provides a framework for controlling headless Chrome or Chromium instances through the Chrome DevTools Protocol. It functions as a controller for orchestrating browser lifecycles, enabling developers to automate interactions, extract data, and manage browser processes programmatically within Rust applications. The project distinguishes itself by providing a synchronous interface that wraps asynchronous browser operations, simplifying the control flow for linear automation scripts. It maintains process isolation by spawning independent browser instances as child processes, ensurin
This repository provides a programmatic Rust library to control Chrome via the DevTools Protocol for headless browsing and automation, though it is limited to Chrome rather than supporting multiple browser engines.
OpenBrowser is an AI web agent toolkit and automation framework designed to translate natural language instructions into executable browser workflows. It functions as a headless browser controller and orchestrator, enabling the creation of autonomous agents that navigate websites, interact with elements, and extract data using plain English commands. The system features a sandboxed execution environment that utilizes domain whitelists and memory limits to ensure secure web interaction. It distinguishes itself through a command-line interface for triggering autonomous tasks with configurable m
OpenBrowser acts as a headless browser automation and scraping framework powered by AI and built on top of Playwright and Puppeteer, though it focuses on natural language instructions rather than a traditional raw programmatic API.
Remote-browser is a framework for programmatic browser automation and session management built on standard web extension architecture. It provides the infrastructure to control browser instances, execute automated scripts, and perform debugging tasks through a unified interface. The project distinguishes itself by enabling both local and remote browser connectivity, allowing users to establish persistent communication channels with distant browser instances over a network. It utilizes a privileged extension environment to isolate automation logic from page-level content, ensuring that scripts
Remote-browser is a framework for programmatic browser automation and session management that provides a unified interface for controlling browser instances and executing scripts remotely, though it lacks built-in anti-detection measures and PDF generation.
Headless browser support for fast web acceptance testing in .Net
This .NET library provides headless browser support for web testing, offering programmatic automation capabilities despite lacking the broader multi-browser and anti-detection feature set of flagship frameworks.
AnyCrawl is an AI-powered data extractor, automated web crawler, and headless browser orchestrator. It serves as a web content extraction API and a gateway that connects crawling and scraping tools to language models using a standardized API protocol. The project specializes in converting unstructured website content into structured JSON or markdown optimized for AI assistants. It utilizes language models and JSON schemas to pull specific information into validated formats and provides capabilities for AI page summarization and LLM-optimized content extraction. The system manages comprehensi
AnyCrawl is a headless browser orchestrator and web scraping tool focused on AI data extraction, providing programmatic crawling and extraction capabilities even though it is tailored for LLM-optimized outputs rather than general browser automation.
A high-level API to control headless Chrome or Chromium over the DevTools Protocol. It is the Rust equivalent of Puppeteer, a Node library maintained by the Chrome DevTools team.
This Rust library provides a programmatic API to control Chromium via the DevTools Protocol for browser automation and scraping, though it is limited to Chrome rather than supporting multiple browsers.
| Repository | Stars | Language | License | Last push |
|---|---|---|---|---|
| googlechrome/puppeteer | 95K | TypeScript | Apache-2.0 | |
| ariya/phantomjs | 29.5K | C++ | bsd-3-clause | |
| 12.4K |
| Python |
| mit |
| microsoft/playwright-python | 14.3K | Python | apache-2.0 |
| facebook/php-webdriver | 5.2K | PHP | MIT |
| puppeteer/puppeteer | 94.8K | TypeScript | Apache-2.0 |
| go-rod/rod | 6.7K | Go | mit |
| segmentio/nightmare | 19.8K | JavaScript | — |
| microsoft/playwright | 91.1K | TypeScript | Apache-2.0 |
| getgauge/taiko | 3.7K | JavaScript | mit |