selenium-webdriver
v4.47.0
Published
The official WebDriver JavaScript bindings from the Selenium project
Readme
selenium-webdriver
JavaScript language bindings for Selenium WebDriver. Selenium automates browsers for testing and web-based task automation.
Requires Node.js >= 22.
Installation
npm install selenium-webdriverQuick Start
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.
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
or standalone server, point the Builder at the server URL, or set
SELENIUM_REMOTE_URL:
let driver = new Builder().forBrowser(Browser.CHROME).usingServer('http://localhost:4444').build()SELENIUM_REMOTE_URL="http://localhost:4444" node script.jsNode Support Policy
selenium-webdriver supports the Node.js versions under active upstream
support. Each is supported until its
end-of-life 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; issues and pull requests are welcome for any supported version.
Documentation
Support
Contributing
Contributions are welcome via GitHub pull requests. See the source code for this binding.
Links
License
Licensed under the Apache License 2.0.
