Selenium
Selenium is the original browser automation standard. Around since 2004, it drives real browsers through the WebDriver protocol from almost any programming language, making it the backbone of web testing and scraping across the industry.
Quick Facts
| Developer | Selenium project, part of the Software Freedom Conservancy |
|---|---|
| First released | 2004 |
| Latest version | Selenium 4 (see official website for the latest release) |
| Language | Java, Python, C#, Ruby, JavaScript and Kotlin |
| License | Apache-2.0 |
| Pricing | Free and open source |
| Platform | All major browsers through the WebDriver protocol |
What is Selenium?
Selenium is the granddaddy of browser automation, first released in 2004 and still going strong. It lets you write code that controls a real browser: opening pages, clicking, typing, and asserting what you see, all through the standard WebDriver protocol.
The project is maintained by a volunteer community under the Software Freedom Conservancy, and it ships official bindings for Java, Python, C#, Ruby, JavaScript, and Kotlin. That language coverage is a big reason Selenium stayed relevant for two decades.
Selenium 4 modernized the project with the W3C WebDriver standard, a friendlier IDE for recording tests, and better relative locators. It remains the reference implementation that many commercial testing tools build on.
Key Features
- WebDriver protocol standardized by the W3C
- Official bindings for six programming languages
- Support for all major browsers: Chrome, Firefox, Edge, Safari and more
- Selenium Grid for running tests across machines in parallel
- Selenium IDE for recording and replaying tests without code
- Relative locators to find elements by position
- Huge ecosystem of wrappers, plugins and cloud providers
How to get started
Pick your language, install the Selenium package, and download a WebDriver for the browser you want to test. From there you create a driver, navigate to a page, and start writing actions.
- Install the Selenium binding for your language
- Download or manage the browser driver, like ChromeDriver
- Create a driver instance for your browser
- Write a script that navigates and interacts with the page
- Run it on your machine or through Selenium Grid
Use cases
- End to end testing of web applications
- Cross browser compatibility testing
- Web scraping and data collection at scale
- Automating repetitive browser workflows
- Training and certification: the classic entry point into test automation
- Building custom test frameworks on top of WebDriver
Pricing and licensing
Selenium is completely free and open source under the Apache-2.0 license. There is no paid tier, no license key, and no cloud requirement; you run everything on your own infrastructure.
The ecosystem around it, like cloud testing services that host browser grids, is commercial, but the core project itself has always been free.
Pros and cons
Selenium's strengths are maturity, standards, and language choice. The W3C WebDriver standard means your tests are portable across browsers and even across tools, and the decades of documentation mean almost any problem has been solved and written up already.
The weaknesses are the classic ones of the old guard: tests can be flaky if you do not handle waits carefully, setup requires managing browser drivers, and the framework gives you raw power rather than the guardrails newer tools provide.
Alternatives
- Playwright: modern cross browser framework with auto waiting
- Cypress: developer friendly runner for JavaScript teams
- Appium: WebDriver based automation for mobile apps
- Testim: AI maintained UI tests for less brittle suites