# keon/browser-control

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/keon-browser-control).**

_How this analysis was created: the description and tags below were written by an AI model that read this project's README and public documentation pages; stars, license and language come straight from the GitHub API. The model does not read the source code._

3,114 stars · 208 forks · Rust · MIT

## Links

- GitHub: https://github.com/keon/browser-control
- awesome-repositories: https://awesome-repositories.com/repository/keon-browser-control.md

## Topics

`agent` `browser-automation` `llm` `rust`

## Description

Browser Control is a command-line browser control tool written in Rust that communicates directly with browser instances using low-level remote debugging protocol commands over web sockets. It provides a stateless command-line interface that processes single terminal commands and outputs compact text or JSON for automated scripts and coding agents. The project manages real browser process lifecycles, connects to cloud-hosted sessions or local instances, and runs multi-step automation scripts from files or piped input streams.

The utility features stable reference element mapping that generates persistent handles from accessibility and DOM snapshots to target page elements across interactions without breaking. It supports simulating mouse clicks, keyboard text input, scrolling, and specialized key combinations using coordinates or reference identifiers. Background event ring buffers maintain circular history logs of network requests and console messages in memory, automatically capturing diagnostic traces upon command failure.

Additional capabilities include tab management, screenshot capture, PDF generation, viewport adjustments, web page scraping, text summary extraction, and real-time log monitoring. Users can also execute raw custom protocol expressions against the browser debugging backend when standard helper commands are insufficient.

## Tags

### Web Development

- [Chrome DevTools Protocols](https://awesome-repositories.com/f/web-development/web-automation-scraping/browser-control-protocols/chrome-devtools-protocols.md) — Provides a command-line interface communicating directly with browser instances using Chrome DevTools Protocol commands.
- [Input Element References](https://awesome-repositories.com/f/web-development/dom-element-selectors/grid-cell-element-access/input-element-references.md) — Enables interacting with page elements using stable handles generated from snapshots, traditional CSS selectors, or direct coordinates. ([source](https://github.com/keon/browser-control#readme))
- [Headless Browser Controllers](https://awesome-repositories.com/f/web-development/headless-browser-controllers.md) — Manages real browser process lifecycles and connects to local or cloud-hosted remote debugging sessions.
- [Remote Browser Connections](https://awesome-repositories.com/f/web-development/web-automation-scraping/browser-orchestration-systems/remote-browser-connections.md) — Connects to local or cloud-hosted browser instances over the Chrome DevTools Protocol to manage tabs and inspect network traffic. ([source](https://github.com/keon/browser-control/blob/main/README.md))
- [Tab Managers](https://awesome-repositories.com/f/web-development/browser-integration-utilities/browser-session-management/tab-management/tab-openers/tab-managers.md) — Opens, closes, switches between tabs, captures screenshots, generates PDFs, and adjusts viewports within the active browser session. ([source](https://github.com/keon/browser-control/blob/main/README.md))
- [Keyboard Input Simulations](https://awesome-repositories.com/f/web-development/web-automation-scraping/browser-interaction-primitives/keyboard-input-simulations.md) — Simulates mouse clicks, keyboard text input, specialized key combinations, and scrolling actions using reference identifiers or direct coordinates. ([source](https://github.com/keon/browser-control/blob/main/AGENTS.md))
- [Browser Lifecycle Managers](https://awesome-repositories.com/f/web-development/web-automation-scraping/browser-orchestration-systems/browser-lifecycle-managers.md) — Spawns a real browser process, manages its lifecycle, and connects over a remote debugging protocol to execute commands. ([source](https://github.com/keon/browser-control/blob/main/AGENTS.md))
- [Web Scraping and Extraction](https://awesome-repositories.com/f/web-development/web-scraping-and-extraction.md) — Extracts clean text summaries, metadata, and interactive element references from web pages for automated data collection.

### Development Tools & Productivity

- [Browser Runtime Controllers](https://awesome-repositories.com/f/development-tools-productivity/command-line-interface-controllers/browser-runtime-controllers.md) — Executes actions against a real browser using a command-line interface that outputs compact text and JSON suitable for shell environments. ([source](https://github.com/keon/browser-control#readme))
- [Agent Command Line Interfaces](https://awesome-repositories.com/f/development-tools-productivity/terminal-shell-cli/cli-tooling-frameworks/cli-tooling/agent-integration-interfaces/agent-command-line-interfaces.md) — Processes single terminal commands that output compact text or JSON for easy consumption by automated scripts and coding agents.

### Programming Languages & Runtimes

- [Batch Scripts](https://awesome-repositories.com/f/programming-languages-runtimes/cli-script-execution/batch-scripts.md) — Reads multi-step automation scripts and piped input streams to execute ordered sequences of browser commands without manual intervention.
- [Browser Automation Scripts](https://awesome-repositories.com/f/programming-languages-runtimes/lua-script-execution-environments/browser-automation-scripts.md) — Runs custom automation scripts and executes raw browser protocol expressions or escape hatches when standard helper commands are insufficient. ([source](https://github.com/keon/browser-control#readme))

### Testing & Quality Assurance

- [Browser Automation Interfaces](https://awesome-repositories.com/f/testing-quality-assurance/software-testing/testing-frameworks/test-frameworks/browser-and-ui-testing/browser-automation-frameworks/browser-automation-interfaces.md) — Provides a command-line interface for simulating user inputs, capturing screenshots, and inspecting page content during automated testing.
- [DOM Element ID Mapping](https://awesome-repositories.com/f/testing-quality-assurance/ui-element-interactions/dom-element-id-mapping.md) — Generates persistent handles from accessibility and DOM snapshots to reliably target page elements across interactions without breaking.

### Part of an Awesome List

- [Browser and Web Agents](https://awesome-repositories.com/f/awesome-lists/ai/browser-and-web-agents.md) — Gives autonomous coding agents the ability to navigate web pages, inspect DOM elements, and execute browser actions directly.

### Content Management & Publishing

- [Automatic Page Metadata Extraction](https://awesome-repositories.com/f/content-management-publishing/automatic-page-metadata-extraction.md) — Extracts page metadata, compact text summaries, and headings to provide a quick textual overview of current views. ([source](https://github.com/keon/browser-control/blob/main/AGENTS.md))
- [Live Page Content Readers](https://awesome-repositories.com/f/content-management-publishing/page-insertion/text-page-generation/per-page-content-extractors/live-page-content-readers.md) — Captures page snapshots, text, and stable element references to allow external tools to read web pages. ([source](https://github.com/keon/browser-control/blob/main/README.md))

### System Administration & Monitoring

- [Browser Log Streaming](https://awesome-repositories.com/f/system-administration-monitoring/browser-log-streaming.md) — Listens to console messages and network requests in real time to diagnose runtime errors and page issues. ([source](https://github.com/keon/browser-control/blob/main/AGENTS.md))
- [Debug Message Ring Buffers](https://awesome-repositories.com/f/system-administration-monitoring/debug-message-ring-buffers.md) — Maintains an in-memory circular history buffer of console logs and network requests to automatically capture diagnostic traces upon command failure.
- [Background Trace Sessions](https://awesome-repositories.com/f/system-administration-monitoring/observability-tracing/browser-tracing/background-trace-sessions.md) — Maintains circular event history buffers to automatically capture diagnostic traces upon command failure. ([source](https://github.com/keon/browser-control#readme))

### User Interface & Experience

- [Element Targeting](https://awesome-repositories.com/f/user-interface-experience/css-selectors/element-target-resolution/element-targeting.md) — Targets elements using stable references, CSS selectors, or coordinates to perform clicks, text entry, file uploads, and key presses. ([source](https://github.com/keon/browser-control/blob/main/README.md))
