According to information on the official Selenium website, specifically in the Download Section, there are several Selenium Client & WebDriver Language Bindings available:
- Java
- C#
- Ruby
- Python
- Javascript (Node)
In my opinion, these 5 variants are the most commonly used when it comes to Selenium Clients for Automation Frameworks with Selenium.
Documentation
While Selenium's GitHub documentation is valuable, a significant portion of online resources focus on Selenium (Java). This could be attributed to Java's widespread usage as a programming language, making learning easier. Additionally, the frequency of releases for the Selenium (Java) client supports this observation.
Personally, I have found Selenium's GitHub documentation for all client bindings to be comprehensive and accurate.
To utilize Selenium for tasks requiring browser automation using Javascript (Node), one can install Selenium via npm by running:
npm install selenium-webdriver
It is necessary to download additional components to work with major browsers. Chrome, Firefox, IE, Edge drivers are standalone executables that should be added to your system PATH. safaridriver ships with Safari 10 for OS X El Capitan and macOS Sierra. Remote Automation must be enabled in Safari 10's Develop menu before testing.
An illustrative example is provided below:
const {Builder, By, Key, until} = require('selenium-webdriver');
(async function example() {
let driver = await new Builder().forBrowser('firefox').build();
try {
await driver.get('http://www.google.com/ncr');
await driver.findElement(By.name('q'));.sendKeys('webdriver', Key.RETURN);
await driver.wait(until.titleIs('webdriver - Google Search'), 1000);
} finally {
await driver.quit();
}
})();