</>

Technology

Selenium

Difficulty

Beginner

Interview Question

What are the types of WebDriver APIs available in Selenium?

Answer

Types of WebDriver APIs in Selenium

Selenium provides browser-specific driver implementations, each communicating with its target browser natively.

Available WebDriver implementations:

▸1. FirefoxDriver (geckodriver)
Java
System.setProperty("webdriver.gecko.driver", "path/to/geckodriver");
WebDriver driver = new FirefoxDriver();
▸2. ChromeDriver
Java
System.setProperty("webdriver.chrome.driver", "path/to/chromedriver");
WebDriver driver = new ChromeDriver();
▸3. InternetExplorerDriver (IE Driver)
Java
System.setProperty("webdriver.ie.driver", "path/to/IEDriverServer.exe");
WebDriver driver = new InternetExplorerDriver();
▸4. EdgeDriver
Java
System.setProperty("webdriver.edge.driver", "path/to/msedgedriver");
WebDriver driver = new EdgeDriver();
▸5. SafariDriver
Java
// No System.setProperty needed on Mac
WebDriver driver = new SafariDriver();
▸6. HtmlUnitDriver (headless, fastest)
Java
WebDriver driver = new HtmlUnitDriver();  // No browser UI
// Fastest implementation — runs in memory, no browser window
▸7. OperaDriver
Java
OperaOptions options = new OperaOptions();
options.setBinary("/path/to/opera");
WebDriver driver = new ChromeDriver(options);  // Opera uses Chromium engine
▸8. RemoteWebDriver (for Selenium Grid)
Java
WebDriver driver = new RemoteWebDriver(
    new URL("http://localhost:4444/wd/hub"),
    new ChromeOptions()
);
▸9. AndroidDriver (Appium-based)
Java
// For mobile browser automation
DesiredCapabilities caps = new DesiredCapabilities();
caps.setCapability("platformName", "Android");
WebDriver driver = new AndroidDriver(new URL("http://localhost:4723"), caps);

10. iPhoneDriver For Safari on iOS — typically handled via Appium.

Selenium 4 — Modern approach (WebDriverManager):

Java
// No need to set system property manually
WebDriverManager.chromedriver().setup();
WebDriver driver = new ChromeDriver();

Summary list:

  1. ✓FirefoxDriver (geckodriver)
  2. ✓InternetExplorerDriver
  3. ✓ChromeDriver
  4. ✓HtmlUnitDriver (headless, fastest)
  5. ✓OperaDriver
  6. ✓SafariDriver
  7. ✓EdgeDriver
  8. ✓AndroidDriver (via Appium)
  9. ✓iPhoneDriver (via Appium)
  10. ✓RemoteWebDriver (Grid)

Follow AutomateQA

Related Topics