
In simple English
This project automates web browsers through code. It lets you write scripts that click buttons, fill forms, and test websites. You can use it with Java, Python, JavaScript, Ruby, and C sharp. It costs nothing to use, but setting up the source code requires technical patience. The project relies on volunteer contributors and standard web specifications.
What it is
Selenium is a browser automation framework that implements the W3C WebDriver specification. It provides a platform and language-neutral coding interface compatible with all major web browsers.
What it is good for
This is for developers who want to contribute to the core Selenium project or build custom browser automation tools from the source code. It removes the need to write separate automation code for every different browser.
- Works across all major web browsers without modification.
- Supports multiple programming languages including Java, Python, and JavaScript.
- Backed by a massive community and years of active development.
- Building the project from source requires complex tools like Bazel.
- Setup on Windows requires registry changes and long path support.
- Consumes significant memory and CPU resources during test execution.
manual browser clicking
bazel
- microsoft/playwright98k stars
A modern alternative for end-to-end web testing and browser automation with auto-waiting.
- puppeteer/puppeteer96k stars
A Node library which provides a high-level API to control Chrome or Firefox over the DevTools Protocol.
- HypothesisWorks/hypothesis9.1k stars
A Python library that generates test inputs and reduces any failure to the smallest example that still fails.
- wntrblm/nox1.6k stars
Runs your tests and other jobs in fresh isolated environments, described in an ordinary Python file.
git clone https://github.com/SeleniumHQ/selenium.git cd selenium ./go py:install