# selenium-webdriver

> The official WebDriver JavaScript bindings from the Selenium project

Latest version **4.49.0** (published 2026-09-09) · Apache-2.0 license · 0 weekly downloads

## Install

```sh
npm install selenium-webdriver
pnpm add selenium-webdriver
yarn add selenium-webdriver
bun add selenium-webdriver
```

## Health

**Score 73/100 (B)** — status: active.

Positive: has types package; no vulnerabilities; has provenance; recently updated; high maintenance score; high quality score; popular repo.

Warnings: low downloads; no esm support; large bundle.

## Facts

| | |
|---|---|
| Version | 4.49.0 |
| Published | 2026-09-09 |
| First published | 2013-02-14 |
| Weekly downloads | 0 |
| License | Apache-2.0 |
| TypeScript types | separate (@types/selenium-webdriver) |
| Module format | CommonJS |
| Node | >= 22.0.0 |
| Dependencies | 4 |
| Unpacked size | 21.8 MB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Provenance | attested (GitHub Actions) |
| GitHub stars | 34486 |
| Maintainers | sriharsha, automatedtester, diemol, titusfortner, pujagani, jmleyba |
| Keywords | automation, selenium, testing, webdriver, webdriverjs |

## Links

- npm: https://www.npmjs.com/package/selenium-webdriver
- Repository: https://github.com/SeleniumHQ/selenium
- Homepage: https://github.com/SeleniumHQ/selenium/tree/trunk/javascript/selenium-webdriver#readme
- Issues: https://github.com/SeleniumHQ/selenium/issues
- Funding: https://github.com/sponsors/SeleniumHQ
- npm.io page: https://npm.io/package/selenium-webdriver

## Dependencies (4)

- [ws](https://npm.io/package/ws.md) ^8.21.3
- [tmp](https://npm.io/package/tmp.md) ^0.2.7
- [jszip](https://npm.io/package/jszip.md) ^3.10.1
- [@bazel/runfiles](https://npm.io/package/@bazel/runfiles.md) ^6.5.0

## Alternatives

- [@snazzah/davey](https://npm.io/package/@snazzah/davey.md) — 1.5M weekly downloads
- [@vendure/testing](https://npm.io/package/@vendure/testing.md) — 8.3K weekly downloads
- [vue-simple-context-menu](https://npm.io/package/vue-simple-context-menu.md) — 6.6K weekly downloads
- [cypress-webpack-preprocessor-v5](https://npm.io/package/cypress-webpack-preprocessor-v5.md) — 2.1K weekly downloads
- [@backstage/plugin-catalog-backend-module-puppetdb](https://npm.io/package/@backstage/plugin-catalog-backend-module-puppetdb.md) — 1.3K weekly downloads

## Recent versions

- 4.49.0 (latest) — 2026-09-09
- 4.48.0 — 2026-08-27
- 4.47.0 — 2026-08-10
- 4.46.0 — 2026-07-11
- 4.45.0 — 2026-06-16
- 4.44.0 — 2026-05-12
- 4.43.0 — 2026-04-10
- 4.42.0 — 2026-04-09
- 4.41.0 — 2026-02-20
- 4.40.0 — 2026-01-18
- 4.39.0 — 2025-12-06
- 4.38.0 — 2025-10-25
- 4.37.0 — 2025-10-17
- 4.36.0 — 2025-10-02
- 4.35.0 — 2025-08-12
- … 109 more at https://npm.io/package/selenium-webdriver/versions

## README

# selenium-webdriver

JavaScript language bindings for [Selenium WebDriver](https://www.selenium.dev).
Selenium automates browsers for testing and web-based task automation.

Requires Node.js >= 22.

## Installation

```bash
npm install selenium-webdriver
```

## Quick Start

```javascript
const { Builder, Browser } = require('selenium-webdriver')

;(async function example() {
  let driver = await new Builder().forBrowser(Browser.CHROME).build()
  try {
    await driver.get('https://www.selenium.dev')
    console.log(await driver.getTitle())
  } finally {
    await driver.quit()
  }
})()
```

Selenium Manager automatically handles browser driver installation — no manual driver setup required.

## Configuring the Builder

The `Builder` sets default options for all browsers in a single chain; options
for non-selected browsers are dropped at `build()` time. The target browser can
be swapped at runtime via the `SELENIUM_BROWSER` environment variable.

```javascript
const { Builder, Browser } = require('selenium-webdriver')
const chrome = require('selenium-webdriver/chrome')
const firefox = require('selenium-webdriver/firefox')

let driver = new Builder()
  .forBrowser(Browser.FIREFOX)
  .setChromeOptions(new chrome.Options())
  .setFirefoxOptions(new firefox.Options())
  .build()
```

## Running Against a Remote Server

To run scripts against a [Selenium Grid](https://www.selenium.dev/documentation/grid/)
or standalone server, point the Builder at the server URL, or set
`SELENIUM_REMOTE_URL`:

```javascript
let driver = new Builder().forBrowser(Browser.CHROME).usingServer('http://localhost:4444').build()
```

```bash
SELENIUM_REMOTE_URL="http://localhost:4444" node script.js
```

## Node Support Policy

`selenium-webdriver` supports the Node.js versions under active upstream
support. Each is supported until its
[end-of-life](https://github.com/nodejs/release#release-schedule) date; after
that it is unsupported.

| Node.js | Support ends |
| :------ | :----------- |
| 22      | 2027-04-30   |
| 24      | 2028-04-30   |
| 26      | 2029-04-30   |

CI tests the earliest and latest supported versions available in
[rules_nodejs](https://github.com/bazel-contrib/rules_nodejs); issues and pull
requests are welcome for any supported version.

## Documentation

- [Getting Started](https://www.selenium.dev/documentation/webdriver/getting_started/)
- [JavaScript API Docs](https://www.selenium.dev/selenium/docs/api/javascript/)
- [Selenium Manager](https://www.selenium.dev/documentation/selenium_manager/)
- [Selenium Grid](https://www.selenium.dev/documentation/grid/)

## Support

- [Selenium Chat](https://www.selenium.dev/support/#ChatRoom)
- [GitHub Issues](https://github.com/SeleniumHQ/selenium/issues)

## Contributing

Contributions are welcome via [GitHub](https://github.com/SeleniumHQ/selenium/) pull requests.
See the [source code](https://github.com/SeleniumHQ/selenium/tree/trunk/javascript/selenium-webdriver) for this binding.

## Links

- [npm](https://www.npmjs.com/package/selenium-webdriver)
- [Documentation](https://www.selenium.dev/documentation/?tab=javascript)

## License

Licensed under the [Apache License 2.0](https://www.apache.org/licenses/LICENSE-2.0).

---
_Source: https://npm.io/package/selenium-webdriver · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
