For a library for browser automation and scraping, the strongest matches are googlechrome/puppeteer (Puppeteer is a mature JavaScript library that directly enables), ariya/phantomjs (PhantomJS is a headless browser engine that provides a) and chromedp/chromedp (chromedp is a Go library that controls Chrome/Chromium via). microsoft/playwright and puppeteer/puppeteer round out the shortlist. Each is ranked by relevance to your query, popularity and recent activity.
نحن نختار بعناية مستودعات GitHub مفتوحة المصدر التي تطابق “browser integration tools”. النتائج مرتبة حسب صلتها ببحثك — استخدم الفلاتر أدناه للتضييق، أو قم بتحسين البحث باستخدام الذكاء الاصطناعي.
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 mature JavaScript library that directly enables programmatic browser control with headless operation, cross-browser support (Chrome and Firefox), and comprehensive features like element selection, screenshot/PDF capture, and network interception, making it a perfect fit for automation and testing tasks.
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 browser engine that provides a programmatic interface for automating web pages—squarely a browser automation and testing tool—but it only supports WebKit (not cross-browser) and uses its own scripting API rather than a Node.js one, so it covers most of your required features but is narrower than a modern multi-engine, Node.js-based alternative.
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
chromedp is a Go library that controls Chrome/Chromium via the DevTools Protocol, offering headless automation, screenshot capture, network interception, and element selection—making it a strong browser automation tool, though it lacks cross-browser support and a JavaScript/Node.js API.
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 full-fledged browser automation framework with a unified API for Chromium, Firefox, and WebKit, supporting headless mode, JavaScript/Node.js bindings, CSS/XPath selectors, screenshot and PDF generation, network interception, and programmatic page navigation — exactly what you need for browser automation and testing.
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 gives you programmatic control over Chromium and Firefox via a JavaScript API, supporting headless mode, element selection, screenshots, PDFs, network interception, and page navigation—precisely the kind of tool for automation, testing, and scraping.
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 that automates web scenarios through headless browsers, fitting the browser automation and testing category, though its API is not Node.js-based and it relies on PhantomJS/SlimerJS, limiting cross-browser support.
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 the industry-standard browser automation framework that directly fulfills your need for programmatic control, offering cross-browser headless execution, a JavaScript/Node.js API, element selection via CSS/XPath, screenshot and PDF generation, network request interception, and full page navigation and history control—matching every requested feature.
This project is a Model Context Protocol tool that connects local browser instances to AI agents, enabling programmatic control over web sessions. It functions as a browser automation framework, allowing for the navigation of pages, interaction with form elements, and the management of user data while maintaining existing authentication states and profiles. The utility distinguishes itself by enabling local analysis of browser content, including the extraction of text and the performance of semantic searches across open tabs without transmitting private data to external servers. It also provi
This project is a browser automation framework that lets you programmatically control Chrome sessions via a Model Context Protocol, supporting headless mode, navigation, element interaction, screenshot capture, and network interception—though it appears Chrome-specific, missing cross-browser support.
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
php-webdriver is a WebDriver client that lets you control browsers programmatically from PHP, supporting headless mode, cross-browser automation, and element selection — exactly the kind of browser automation tool you need, though it uses PHP rather than JavaScript/Node.js and may not cover every feature like PDF generation out of the box.
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 a browser-focused testing framework that automates browser control for end-to-end and component testing, covering headless mode, JavaScript/Node.js API, CSS element selection, screenshots, and network interception — matching this search for a programmatic browser automation and testing tool.
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 full-featured Node.js browser automation framework built on the WebDriver protocol, enabling programmatic control of browsers for testing and scraping with headless mode, cross-browser support, element selection, and screenshot generation — exactly what this search requires.
jsdom is a Node.js implementation of web standards that functions as a headless browser emulator. It provides a JavaScript execution environment and an HTML and XML parser to simulate a browser environment on the server side, implementing various web APIs and W3C standards. The project distinguishes itself by providing a sandboxed runtime for executing scripts embedded in HTML or external files. It includes specialized polyfills for the Canvas API and manages session state through HTTP cookie management. Its broader capabilities cover network interaction via request interception and resource
jsdom is a Node.js headless browser emulator that provides programmatic DOM and JavaScript environments for testing and scraping, but it lacks real browser engine support, cross-browser coverage, and screenshot/PDF generation, so it fits the intent narrowly.
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
This is a headless browser engine built in Zig that uses the Chrome DevTools Protocol for scalable automation and testing, so it directly enables programmatic browser control; it lacks a native JavaScript API and cross-browser support, but its core purpose matches your intent.
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 browser automation framework for testing that supports headless Chromium and Firefox with a JavaScript API, making it a solid fit for programmatic browser control, though its cross-browser scope is limited to those two engines.
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 testing library for Ruby, matching the core need for programmatic browser control, but it lacks the JavaScript/Node.js API and some advanced features like network interception and PDF generation.
CefSharp is a .NET binding for the Chromium Embedded Framework that allows developers to embed a full web browser into desktop applications. It provides an embedded browser control for rendering HTML, CSS, and JavaScript content within a native host window. The project features a bidirectional JavaScript bridge interface that enables the execution of scripts and the exposure of native host classes and methods to the browser environment. It also includes a headless browser automation tool for executing web tasks and capturing page screenshots without a graphical user interface. The library co
CefSharp is a .NET binding that embeds Chromium with headless automation, screenshot, and network interception capabilities, making it usable for browser automation and testing—but it lacks cross-browser support and a JavaScript/Node.js API, narrowing its fit for this search.
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 is a Ruby-based browser automation library and acceptance test framework that supports headless mode, cross-browser testing, and element selection via CSS/XPath, but it uses a Ruby API rather than the JavaScript/Node.js API you listed, so it fits the browser automation category with a different language ecosystem.
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 browser automation library that controls Chrome via the DevTools Protocol, fitting your need for programmatic browser control, but its Python-only API and Chrome-only focus mean it lacks the cross-browser and JavaScript/Node.js features you wanted.
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 browser automation framework that provides headless cross-browser control (Chromium, Firefox, WebKit) with element selection, screenshot/PDF capture, network interception, and page navigation, but it offers a Python API rather than the requested JavaScript/Node.js API, so it fits the category with that one feature gap.
Stagehand is an AI-native browser automation framework that enables developers to build reliable web automations using a hybrid of natural language instructions and deterministic TypeScript code.
Stagehand is a browser automation framework that provides programmatic control via TypeScript, supports headless mode, cross-browser execution (via Playwright/Puppeteer/Selenium), and includes capabilities for element selection, screenshots, network interception, and page navigation, making it a direct fit for your automation and testing needs.
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 test automation framework that uses the W3C WebDriver protocol to control browsers, making it a genuine fit for browser automation and testing with support for headless mode, cross-browser execution, CSS/XPath element selection, and screenshot generation, though its network request interception capabilities are less prominent than in some alternatives.
geckodriver is a browser automation driver and W3C WebDriver implementation. It functions as a proxy server that translates standardized WebDriver commands into internal instructions for web browsers based on the Gecko engine. The project enables the programmatic control of Gecko-based browsers to simulate user interactions and automate repetitive web tasks. It supports both standard browser automation and headless browser orchestration for workflows executing without a graphical user interface. The software is used for automated web testing to verify website functionality and user interface
geckodriver is the official WebDriver implementation for Gecko-based browsers (Firefox), giving you programmatic control with headless mode, element selection, navigation, and screenshot support — but its cross-browser support is limited to Firefox, not the multi‑browser coverage this search likely requires.
This project is an agentic framework designed to enable autonomous web navigation and browser automation. It functions as a controller that translates natural language instructions into deterministic browser actions, allowing agents to interact with websites, perform data extraction, and manage complex authentication flows. By leveraging accessibility trees and semantic element resolution, the framework mimics human-like navigation, moving beyond brittle DOM selectors to interact reliably with modern web interfaces. The framework distinguishes itself through its focus on secure, scalable exec
Agent Browser is a Rust-based framework for autonomous web navigation and browser automation, translating natural language instructions into browser actions; it genuinely enables programmatic browser control as requested, but its Rust/agentic approach differs from typical JavaScript-based testing APIs and lacks direct support for several required features like headless mode, screenshot generation, and CSS/XPath selectors.
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 Node.js library that automates a headless Chromium browser (via Electron) for programmatic navigation, DOM interaction, screenshots, and PDF generation, but it lacks cross-browser support because it is tied exclusively to the Chromium engine.
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 repository is a browser automation controller using Chrome DevTools Protocol, providing headless web interaction and testing capabilities, but it is limited to Chrome/Chromium and does not support cross-browser automation as requested.
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 library for headless Chromium automation via the Chrome DevTools Protocol, directly matching the browser automation and testing category, but it lacks the requested JavaScript/Node.js API and covers only Chromium-based browsers rather than fully cross-browser.
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 browser automation framework and headless controller built on Playwright, directly fitting the search for programmatic browser control—though its focus on vision-based, coordinate-driven interactions for AI agents means conventional CSS/XPath selection is not a primary feature.
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
Browser-use is a framework that uses large language models to orchestrate browser interactions via natural language instructions, enabling programmatic automation and scraping; while it fits the browser automation category, its AI-agent approach differs from traditional testing tools and does not directly offer a JavaScript/Node.js API or CSS/XPath-based element selection.
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 that uses headless browser automation (via Playwright) to programmatically control browsers for scraping and automation, making it a relevant tool for browser control, though it is more scraping-focused than a general-purpose testing tool and does not offer a JavaScript API.
Automa is a browser-based automation platform that enables users to build, schedule, and execute repetitive web tasks through a visual, no-code interface. By operating as a browser extension, it provides a canvas-based environment where users construct workflows by connecting functional blocks to interact with web elements, manage browser state, and process data. The platform distinguishes itself through its deep integration with the browser environment, allowing for complex orchestration such as event-driven triggers, cross-origin request handling, and the ability to package workflows as sta
Automa is a visual, no-code browser automation platform that runs as a browser extension for automating tasks, testing, and scraping—it fits the browser-automation category but does not offer a programmatic JavaScript/Node.js API, so it lacks the direct programmatic control you're seeking.
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 framework that wraps browser automation libraries, providing programmatic control of headless browsers for data extraction and navigation, which directly fits the intent for browser automation in scraping and testing contexts.
Playwright MCP is a browser automation server that provides a standardized interface for connecting large language models to web navigation and interaction capabilities. By operating as a Model Context Protocol server, it enables external AI agents to execute browser-based tasks, extract data, and perform complex web sequences through a unified communication protocol. The project distinguishes itself by acting as a remote controller that manages headless browser lifecycles and isolated automation contexts. It maintains session-based state isolation, allowing for distinct user profiles and per
Playwright MCP is a browser automation server built on Playwright that provides headless browser control via the Model Context Protocol, making it suitable for automating web tasks; it covers core automation features like element selection, navigation, and network interception, though its primary interface is for AI agents rather than a direct JavaScript API.
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 headless browser environment within Node.js for programmatic control, automation, and testing with element selection and request interception, but it simulates only a single browser engine rather than supporting multiple real browsers, which limits cross-browser coverage.
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 Rust library programmatically controls headless Chrome via the DevTools Protocol, making it a genuine browser automation tool—but it only targets Chrome and uses Rust instead of JavaScript/Node.js, so it lacks cross-browser support and the JavaScript API you specified.
Eko is a framework for designing and deploying agentic workflows, featuring an LLM agent workflow orchestrator and a browser automation engine. It provides a server-side process manager for executing system-level operations and managing local files, alongside a human-in-the-loop agent controller for manual oversight and direction during automated decision processes. The system coordinates multi-agent collaboration through role-based partitioning and workflow orchestration, dividing complex tasks into distinct roles and managing execution handoffs. It integrates the Model Context Protocol to s
Eko is a TypeScript framework for agentic workflows that includes a dedicated browser automation engine for web scraping and GUI interactions, making it capable of programmatic browser control, though its focus on AI agent orchestration rather than pure automation or testing may not cover all desired features like cross-browser support or screenshot generation explicitly.
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 is a browser automation framework that uses the Chrome DevTools Protocol and Playwright to enable programmatic control, covering core features like headless mode, element selection, and page navigation, though its Python API and LLM-agent focus make it more specialized than a general-purpose testing tool.
| المستودع | النجوم | اللغة | الترخيص | آخر تحديث |
|---|---|---|---|---|
| googlechrome/puppeteer | 95K | TypeScript | Apache-2.0 | |
| ariya/phantomjs | 29.5K | C++ | bsd-3-clause | |
| chromedp/chromedp | 13.1K | Go | MIT | |
| microsoft/playwright | 91.1K | TypeScript | Apache-2.0 | |
| puppeteer/puppeteer | 94.8K | TypeScript | Apache-2.0 | |
| casperjs/casperjs | 7.2K | JavaScript | MIT | |
| seleniumhq/selenium | 34.2K | Java | Apache-2.0 | |
| hangwin/mcp-chrome | 10.4K | TypeScript | mit | |
| php-webdriver/php-webdriver | 5.2K | PHP | MIT | |
| cypress-io/cypress | 50.1K | TypeScript | MIT |