43 Repos
Control layers for managing headless browser instances to navigate dynamic web content.
Distinguishing note: Focuses on the control layer for browser automation, distinct from the browser engine itself.
Explore 43 awesome GitHub repositories matching web development · Headless Browser Controllers. Refine with filters or upvote what's useful.
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
Launches and manages Chrome and Firefox instances without a visible UI for automated testing and data extraction.
MediaCrawler is an automated web scraping framework designed to extract public posts, comments, and creator metadata from various social media platforms. It functions as a headless browser automator, utilizing real browser instances to render dynamic content and execute the client-side scripts necessary for interacting with modern web interfaces. The system distinguishes itself through a focus on session persistence and network flexibility. It supports remote debugging to reuse active browser sessions and cookies, which helps minimize the risk of triggering platform security challenges. To ma
Manages headless browser instances to navigate dynamic content and bypass security challenges.
Nativefier is a cross-platform desktop application builder that converts web URLs into standalone executables for Windows, macOS, and Linux. It functions as a web-to-desktop application converter, wrapping web pages in a dedicated browser window with its own launcher and identity. The tool uses an Electron-based wrapper to embed websites within a Chromium browser instance and Node.js runtime. It differentiates itself through automatic branding, extracting application names and icons from target websites to configure the desktop wrapper. The system provides mechanisms for custom styling and b
Allows programmatic configuration of window dimensions and menu bars to mimic a native desktop experience.
k6 is a performance testing framework used to measure the scalability and stability of network services and APIs. It functions as a JavaScript load testing tool that uses a Go engine to simulate concurrent user traffic. The tool enables the enforcement of service level objectives by comparing response time percentiles against quantitative performance thresholds. It also operates as a performance regression tool for continuous integration pipelines and a browser performance testing tool that executes scripts within a bundled headless browser instance. Its capabilities cover workload scenario
Measures real user interaction speeds by executing scripted workflows within a headless browser.
Handsontable is a JavaScript data grid that provides a spreadsheet-like interface for managing and editing large datasets within web applications. It functions as a virtualized data table that renders only visible cells to maintain performance, paired with a synchronization layer that binds the grid to underlying data structures. The project distinguishes itself through a built-in spreadsheet calculation engine for evaluating mathematical and logical expressions and a dedicated tool for exporting grid content into Excel XLSX files. It ensures interoperability with external spreadsheet softwar
Traces user interactions and parses browser engine data to compare execution speed against a baseline.
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
Provides a control layer for managing headless browser instances to programmatically navigate and interact with web pages.
Browsh is a text-based web browser and headless browser frontend that renders modern websites and web applications within a terminal emulator. It functions as a TTY web browser, allowing users to view and interact with complex web content directly from a command line interface. The project enables web navigation in environments where a graphical user interface is unavailable, such as when accessing a remote server via SSH or operating in low-bandwidth conditions. It translates browser pixels and colors into ANSI escape codes to simulate a graphical interface using text characters. The system
Acts as a control layer that manages a headless browser to display web content in a console.
This project is a graphical user interface for controlling, configuring, and monitoring AI agents that automate web browser interactions. It provides a visual dashboard to execute autonomous web tasks and manage the behavior of browser-based agents without requiring raw code for every operation. The system includes a browser profile manager to link agents to local executables and user data directories, which allows for persistent authenticated sessions. To support remote observation, it features a VNC streamer that provides a real-time visual feed of headless browser agents operating within a
Provides a graphical dashboard to execute and configure AI-driven browser automation with a real-time view.
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
Provides a control layer for managing headless browser instances that AI agents use to interact with the web.
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
Simplifies data collection by managing browser instances and HTTP requests through a single interface.
Streamlink is a command line video stream extractor that retrieves direct stream URLs from online services for use in external media players. It functions as a local media stream pipe, redirecting raw video data from web services into local files or players via standard input or HTTP. The project includes a headless browser stream scraper to intercept network requests and extract media data from script-heavy websites, alongside a dedicated processor for HLS and DASH segmented media streams. The tool utilizes a modular video plugin framework, allowing support for new streaming platforms to be
Controls headless browser instances to execute JavaScript and intercept network requests.
Pest is a testing framework for PHP that provides a comprehensive suite for executing unit, integration, and end-to-end tests. It functions as an automated testing tool that prioritizes developer experience and readability through a concise, expressive syntax for defining test suites. By wrapping an established testing foundation, it maintains compatibility with existing ecosystem tools while offering a specialized interface for writing and organizing automated tests. The framework distinguishes itself through integrated support for parallel test execution, which distributes suites across mul
Controls headless browser engines to simulate user interactions for end-to-end web application testing.
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
Allows switching focus between multiple open browser windows to perform actions across different tabs.
Moltworker is an AI agent sandbox and model orchestrator designed for the secure execution of untrusted code and shell commands generated by large language models. It functions as a gateway proxy that routes requests to multiple AI providers through a unified interface, integrating a container runtime backed by S3-compatible object storage to persist state across ephemeral lifecycles. The system distinguishes itself by combining an AI model orchestrator with a headless browser controller for automated web scraping and screenshot capture. It manages the full lifecycle of AI agents, including m
Implements a controller for automating web browsing, data scraping, and screenshot capture via headless browsers.
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
Provides a control layer for managing headless browser instances, including proxy and cookie settings.
This is a collection of sample projects that demonstrate how to write automated tests for Android applications. The samples cover a range of testing techniques, including simulating user interactions with the Espresso framework, verifying navigation and inter-component communication through intent interception, and managing activity, intent, and service lifecycles using reusable test rules. The repository provides concrete implementations for testing across multiple application windows, capturing screenshots during test execution for visual verification, and synchronizing test assertions with
Routes UI interactions to the correct window by resolving display and window token identifiers during tests.
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
Uses a local browser instance as a rendering surface, controlled by a server-side Node.js process.
Helium ist eine Python-Bibliothek und ein High-Level-Wrapper für Selenium, der für Browser-Automatisierung, funktionale UI-Tests und Web-Scraping entwickelt wurde. Er bietet eine vereinfachte Schnittstelle für die Interaktion mit Webanwendungen über verschiedene Browser-Engines hinweg. Die Bibliothek zeichnet sich dadurch aus, dass Benutzer Webelemente anhand sichtbarer Textbeschriftungen identifizieren und mit ihnen interagieren können, anstatt sich ausschließlich auf technische Identifikatoren wie XPaths oder CSS-Selektoren zu verlassen. Dieser Ansatz ermöglicht die Erstellung von Automatisierungsskripten auf Basis menschenlesbarer Labels. Das Toolkit deckt ein breites Spektrum an Browser-Automatisierungsfunktionen ab, einschließlich Elementinteraktion, Synchronisierung durch Warten auf Seitenbedingungen sowie Fenster- und Popup-Verwaltung. Es unterstützt komplexe UI-Aktionen wie Dateianhänge und Drag-and-Drop-Operationen sowie die Massenextraktion von Elementen zur Datensammlung. Zusätzliche Utilities umfassen die automatisierte Interaktion mit verschachtelten iFrames und die Aufnahme von Seiten-Screenshots.
Manages the interaction context between multiple open browser windows and popups using page titles.
Page Assist ist ein browserbasiertes KI-Integrationstool, das eine Seitenleisten-Schnittstelle für die Interaktion mit KI-Modellen während des Surfens bietet. Es konzentriert sich auf datenschutzorientiertes Chatten und die Analyse von Webinhalten, wodurch Benutzer Informationen aus aktiven Webseiten extrahieren und abfragen können, um kontextbezogene Antworten zu erhalten. Das Projekt zeichnet sich durch lokale KI-Integration aus, die Verbindungen zu lokal gehosteten Modellen oder privaten API-Endpunkten ermöglicht, um Daten zu verarbeiten, ohne auf Cloud-Dienste angewiesen zu sein. Es unterstützt zudem kollaborative KI-Konversationen über öffentliche Freigabelinks oder selbst gehostete Freigabeinfrastrukturen für eine bessere Datenkontrolle. Das System umfasst Funktionen für die Browser-Automatisierung, wie das Steuern von Tabs und die Interaktion mit Seitenelementen, indem die Browsersitzung als eine Reihe von Tools bereitgestellt wird. Es unterstützt zudem die Bildverarbeitung durch Webseiten-Screenshots und DOM-basierte Inhaltsextraktion für eine umfassende Seitenanalyse.
Exposes browser tab and element manipulation as tools for an AI model to execute tasks.
Slate is a keyboard-driven window manager and tiling system for macOS. It functions as a JavaScript-configurable automation tool and workflow orchestrator, allowing users to resize and position application windows through custom keystroke bindings and predefined spatial configurations. The project distinguishes itself by using a scripting API to define complex window manipulation logic, system event callbacks, and custom input mappings. This allows for the creation of sequenced action chains and the execution of external shell commands tied to specific keyboard shortcuts. Its capabilities in
Enables changing the active window based on its relative screen position or the application name.