43 repository-uri
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 este o bibliotecă Python și un wrapper de nivel înalt pentru Selenium, conceput pentru automatizarea browserului, testarea funcțională a UI și web scraping. Oferă o interfață simplificată pentru interacțiunea cu aplicațiile web pe diferite motoare de browser. Biblioteca se distinge prin faptul că permite utilizatorilor să identifice și să interacționeze cu elementele web folosind etichete de text vizibile, în loc să se bazeze exclusiv pe identificatori tehnici precum XPath-uri sau selectori CSS. Această abordare permite crearea de scripturi de automatizare bazate pe etichete lizibile pentru oameni. Toolkit-ul acoperă o gamă largă de capabilități de automatizare a browserului, inclusiv interacțiunea cu elementele, sincronizarea prin așteptarea condițiilor paginii și gestionarea ferestrelor și popup-urilor. Suportă acțiuni UI complexe, cum ar fi atașamentele de fișiere și operațiunile drag-and-drop, precum și extracția în masă a elementelor pentru colectarea datelor. Utilitarele suplimentare includ interacțiunea automatizată cu iFrame-uri imbricate și capturarea de screenshot-uri ale paginii.
Manages the interaction context between multiple open browser windows and popups using page titles.
Page Assist este un instrument de integrare AI pentru browser care oferă o interfață de tip sidebar pentru interacțiunea cu modele AI în timp ce navigați pe web. Se concentrează pe chat-ul axat pe confidențialitate și analiza conținutului web, permițând utilizatorilor să extragă și să interogheze informații din paginile web active pentru a primi răspunsuri conștiente de context. Proiectul se distinge prin integrarea AI locală, permițând conexiuni la modele găzduite local sau endpoint-uri API private pentru a procesa datele fără a depinde de servicii cloud. De asemenea, suportă conversații AI colaborative prin link-uri de partajare publică sau infrastructură de partajare auto-găzduită pentru un control mai bun al datelor. Sistemul include capabilități pentru automatizarea browserului, cum ar fi controlul tab-urilor și interacțiunea cu elementele paginii prin expunerea sesiunii de browser ca un set de instrumente. Suportă, de asemenea, procesarea vizuală prin capturi de ecran ale paginilor web și extragerea conținutului bazată pe DOM pentru o analiză cuprinzătoare a paginii.
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.