Repolode
SeleniumHQ

SeleniumHQ/selenium

Selenium is an umbrella project of tools and libraries for automating web browsers through the W3C WebDriver standard.

Stars
34,563
Forks
8,730
Open issues
196
Last commit
18 hours ago

What is it?

Selenium provides the infrastructure for the W3C WebDriver specification, a platform- and language-neutral interface for controlling web browsers. It is used to script browsers for testing web applications or automating repetitive browser tasks.

The project covers multiple language bindings, including Java, Python, C#, JavaScript, Ruby and Rust, and works with all major web browsers. Browser drivers and Selenium Manager handle locating and configuring browsers and their drivers.

This repository is primarily aimed at contributors. It is built with Bazel, and includes guidance on local development setup, running tests by size and tag, and the release process.

Key features

  • 01Implements the W3C WebDriver specification for cross-browser control.
  • 02Offers bindings for Java, Python, C#, JavaScript, Ruby and Rust.
  • 03Includes Selenium Manager for locating browsers and drivers.
  • 04Supports headless mode in Chrome, Edge and Firefox.
  • 05Builds with Bazel and provides test filtering by size and tag.

Use cases

  • Writing end-to-end tests for web applications across several browsers.
  • Automating repetitive browser tasks such as form filling or data collection.
  • Building a browser testing infrastructure with Selenium Grid.

Quick start

  1. 1

    Install Bazelisk, the Bazel wrapper

  2. 2

    Install Java JDK 17 or greater and set JAVA_HOME

  3. 3

    Build the Selenium Grid

    bazel build grid

Things to know

  • The README targets contributors; end users are directed to the separate User Manual.
  • Building requires Bazel, a JDK 17+ and platform-specific toolchains, which is a heavy setup.
  • Windows setup is involved and requires MSYS2 and Visual Studio build tools.
  • Apple Silicon Macs may need a Rosetta configuration change.

In collections

Topics

FAQ

What is selenium?
Selenium is an umbrella project of tools and libraries for automating web browsers through the W3C WebDriver standard. Selenium provides the infrastructure for the W3C WebDriver specification, a platform- and language-neutral interface for controlling web browsers. It is used to script browsers for testing web applications or automating repetitive browser tasks.
Is selenium free to use? What license does it have?
selenium is open source under the Apache-2.0 license. Check the license terms before using it in commercial products.
Is selenium still maintained?
Actively maintained. The last commit to selenium was on Oct 24, 2026.
What can I use selenium for?
Writing end-to-end tests for web applications across several browsers. Automating repetitive browser tasks such as form filling or data collection. Building a browser testing infrastructure with Selenium Grid.
How do I install selenium?
Install Bazelisk, the Bazel wrapper Install Java JDK 17 or greater and set JAVA_HOME Build the Selenium Grid: bazel build grid
Where can I get selenium?
The source code and installation instructions are on GitHub: https://github.com/SeleniumHQ/selenium

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects