43 repositorios
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 es una biblioteca de Python y un envoltorio de alto nivel para Selenium diseñado para la automatización de navegadores, pruebas funcionales de UI y web scraping. Proporciona una interfaz simplificada para interactuar con aplicaciones web a través de diferentes motores de navegador. La biblioteca se distingue por permitir a los usuarios identificar e interactuar con elementos web utilizando etiquetas de texto visibles en lugar de depender exclusivamente de identificadores técnicos como XPaths o selectores CSS. Este enfoque permite la creación de scripts de automatización basados en etiquetas legibles por humanos. El kit de herramientas cubre una amplia gama de capacidades de automatización de navegadores, incluyendo la interacción con elementos, sincronización mediante espera de condiciones de página y gestión de ventanas y ventanas emergentes. Admite acciones de UI complejas como adjuntos de archivos y operaciones de arrastrar y soltar, así como la extracción masiva de elementos para la recopilación de datos. Las utilidades adicionales incluyen la interacción automatizada con iFrames anidados y la captura de capturas de pantalla de la página.
Manages the interaction context between multiple open browser windows and popups using page titles.
Page Assist es una herramienta de integración de IA basada en navegador que proporciona una interfaz de barra lateral para interactuar con modelos de IA mientras se navega por la web. Se centra en el chat y el análisis de contenido web con enfoque en la privacidad, permitiendo a los usuarios extraer y consultar información de páginas web activas para recibir respuestas conscientes del contexto. El proyecto se distingue por su integración de IA local, permitiendo conexiones a modelos alojados localmente o endpoints de API privados para procesar datos sin depender de servicios en la nube. También admite conversaciones colaborativas con IA mediante enlaces de uso compartido público o infraestructura de alojamiento propio para un mayor control de los datos. El sistema incluye capacidades para la automatización del navegador, como el control de pestañas y la interacción con elementos de la página al exponer la sesión del navegador como un conjunto de herramientas. Además, admite el procesamiento de visión mediante capturas de pantalla de páginas web y la extracción de contenido basada en el DOM para un análisis completo de la página.
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.