Cross-browser automation framework · Established and actively maintained

SeleniumHQ/selenium

Apache-2.0 browser-automation framework and ecosystem implementing W3C WebDriver infrastructure across major browsers, with language bindings, Selenium Grid, automated browser and driver management, and Chromium debugging-protocol support. It is not documented as a Claude Code extension, MCP server, hook, or skill; inference: Claude Code can use Selenium indirectly by creating or invoking project code and test infrastructure, so it belongs as an external automation library and infrastructure companion.

browser automationweb testingend-to-end testingquality assurancedeveloper toolingdistributed testingWebDrivercross-browser compatibility
Routing score
80.0
Readiness
Production-capable framework; Claude Code integration is indirect and unverified
License
Apache-2.0
Maintenance
active
Components
16
Revision
0

Selection

Select when

  • You need standards-based WebDriver automation across major browsers.
  • Your project uses Java, Ruby, Python, JavaScript, C#, or another supported Selenium binding.
  • You need remote or distributed browser execution through Selenium Grid.
  • You want Selenium Manager to reduce manual browser-driver setup.
  • You maintain an existing Selenium test suite or WebDriver-based framework.
  • You need headless Chrome, Edge, or Firefox test execution.
  • You require cross-binding consistency governed by project-wide design decisions.

Boundaries

Avoid when

  • You require a native Claude Code plugin, hook, skill, or MCP server.
  • You need an agent-specific browser tool surface documented for Claude Code.
  • You want a self-contained autonomous coding or browsing agent.
  • You need repository-evidenced accessibility-snapshot interaction for an LLM.
  • You cannot accommodate browser binaries, language runtimes, or remote browser infrastructure.
  • You need a minimal repository build environment, because contributing requires substantial Bazel and platform tooling.

Strengths

Capabilities

Implements infrastructure for the W3C WebDriver specification.Provides a platform- and language-neutral browser automation interface compatible with major browsers.Supports browser automation for testing and web-based task automation.Provides language bindings documented for C#, JavaScript, Java, Python, and Ruby.Provides Selenium Grid for remote browser execution.Includes Selenium Manager for automated browser and driver management.Automatically handles browser-driver installation in the documented Java and Ruby quick starts.Supports headless testing with Chrome, Edge, and Firefox in the repository test configuration.Maintains multiple Chromium debugging-protocol versions for generated bindings.Supports Chrome and Edge debugging-protocol generation from Chromium sources.Uses Bazel to build packages, binaries, tests, and generated artifacts across the repository.Provides development environments through Gitpod, Dev Containers, and a Docker development image.Builds across macOS, Linux, and Windows according to the supplied development documentation.Supports remote integration tests against a Selenium server.Records cross-binding design decisions for consistent behavior, API shape, errors, timeouts, capabilities, and protocol semantics.

Risk profile

Risks and limitations

  • Uncertainty: only selected first-party README and documentation files were supplied, so core implementations, Grid behavior, Selenium Manager internals, tests, CI configuration, and security controls were not directly inspected.
  • Uncertainty: the supplied files do not document any Claude Code integration, so use by Claude Code is inferred from Selenium being an invocable library and infrastructure stack.
  • Uncertainty: no minimum Claude Code version, compatibility matrix, MCP manifest, plugin manifest, skill, or host integration test was supplied.
  • The root README is contributor-focused and directs end users to an external manual that was not supplied.
  • Browser behavior and debugging-protocol support can vary by browser, browser version, driver, binding, and operating system.
  • Contributing to the monorepo requires Bazelisk, JDK 17 or newer, and additional platform-specific tooling.
  • Windows contributor setup may require administrator access, policy changes, registry changes, MSYS2, Visual Studio C++ tools, and long-path configuration.
  • Apple Silicon contributor setup currently documents a Rosetta-based Bazel configuration.
  • Browser automation against authenticated or sensitive sites can expose cookies, page content, credentials, and consequential actions depending on user code.
  • No independent security audit, privacy assessment, Claude compatibility test, or comparative reliability benchmark was supplied.

Selenium can control browsers and execute interactions with web applications, so its effective permissions depend on the browser profile, credentials, target environment, test code, Grid configuration, and surrounding network controls. Remote Selenium servers and authenticated sessions should be treated as sensitive infrastructure. The supplied files do not describe a Claude-specific security boundary, sandbox, permission model, threat model, or independent audit.

Component inventory

16 documented components

browser automation framework

Selenium WebDriver

W3C WebDriver infrastructure and language-neutral browser automation across major browsers.

README.md
Java module

selenium-java

Java 11+ WebDriver bindings distributed through Maven Central.

java/README.md
Ruby module

selenium-webdriver

Ruby 3.3+ WebDriver bindings distributed as a RubyGem.

rb/README.md
.NET module

Selenium .NET bindings

.NET WebDriver bindings built with Bazel and tested with NUnit.

dotnet/README.md
JavaScript module

Selenium JavaScript bindings

JavaScript binding with generated dependencies and local browser test pages.

javascript/readme.txt
CLI service utility

Selenium Manager

Rust CLI that automatically manages browser drivers and browsers for Selenium.

rust/README.md
distributed browser service

Selenium Grid

Remote Selenium server and grid executable for browser sessions.

README.md
contributor command interface

go task wrapper

Custom Rake wrapper for binding builds, installs, docs, updates, and releases.

README.md
build and test command interface

Bazel target interface

Builds, runs, tests, and queries repository modules through named targets.

README.md
testing workflow

Selenium test workflow

Runs language tests with size, tag, browser, headless, retry, and output controls.

README.md
hosted development environment

Gitpod environment

Ready-to-use hosted contributor environment for the repository.

README.md
development workflow

Dev Container

Containerized build and test environment for supporting IDEs.

.devcontainer/devcontainer.json
development environment

Development Docker image

Dockerfile-based environment suitable for building and testing Selenium.

scripts/dev-image/Dockerfile
agent customization point

Local agent workspace convention

Ignored local area for private agent instructions, skills, scripts, plans, and scratch files.

.local/README.md
governance workflow

Architecture decision workflow

PR-based process for proposing and accepting cross-binding user-visible decisions.

docs/decisions/README.md

Technical profile

Requirements and configuration

License
Apache-2.0
Repository
SeleniumHQ/selenium
DefaultBranch
trunk
PrimaryLanguage
Java
Standards
W3C WebDriver, with WebDriver Classic and BiDi referenced in design-decision scope
Bindings
C#, JavaScript, Java, Python, and Ruby are documented in supplied files
BrowserManagement
Selenium Manager is a Rust CLI for automated driver and browser management
RemoteExecution
Selenium Grid is documented for remote browser sessions
BuildSystem
Bazel with Bazelisk and repository-specific Rake wrappers
DeveloperJdk
JDK 17 or newer
JavaBindingRuntime
Java 11 or newer
RubyBindingRuntime
MRI 3.3 or newer
HeadlessBrowsers
Chrome, Edge, and Firefox are listed in test configuration
Platforms
macOS, Linux, and Windows contributor workflows are documented
ClaudeIntegration
No native Claude Code integration is evidenced; indirect invocation is an inference

Classification

How it enters the stack

External Cli LibraryInfrastructure

Evidence: Selenium supplies language libraries, a Rust management CLI, WebDriver infrastructure, and Grid. No Claude plugin, skill, hook, or MCP surface is documented. Inference: Claude Code may author or invoke Selenium code alongside normal project tooling; setup varies from a package plus browser to distributed Grid infrastructure.

Runs Alongside · medium setup effort · high confidence · automated

Evidence and risk

Primary sources

first_party_fileREADME.mdhttps://github.com/SeleniumHQ/selenium/blob/trunk/README.md
first_party_filerb/README.mdhttps://github.com/SeleniumHQ/selenium/blob/trunk/rb/README.md
first_party_filepy/README.rsthttps://github.com/SeleniumHQ/selenium/blob/trunk/py/README.rst
first_party_filejava/README.mdhttps://github.com/SeleniumHQ/selenium/blob/trunk/java/README.md
first_party_filerust/README.mdhttps://github.com/SeleniumHQ/selenium/blob/trunk/rust/README.md
first_party_file.local/README.mdhttps://github.com/SeleniumHQ/selenium/blob/trunk/.local/README.md
first_party_filedotnet/README.mdhttps://github.com/SeleniumHQ/selenium/blob/trunk/dotnet/README.md
first_party_filepy/docs/README.rsthttps://github.com/SeleniumHQ/selenium/blob/trunk/py/docs/README.rst
first_party_filedotnet/test/README.mdhttps://github.com/SeleniumHQ/selenium/blob/trunk/dotnet/test/README.md
first_party_filejavascript/readme.txthttps://github.com/SeleniumHQ/selenium/blob/trunk/javascript/readme.txt

Routing context

Conflicts, complements, and synergies

alternative_to

gh_microsoft_playwright

Both are Apache-2.0 cross-browser web automation frameworks; Playwright has documented agent-facing MCP and CLI paths, while the supplied Selenium files show standards-based WebDriver libraries and infrastructure without native Claude integration.

high confidence