Hero Background

Next-Gen App & Browser Testing Cloud

Trusted by 2 Mn+ QAs & Devs to accelerate their release cycles

Next-Gen App & Browser Testing Cloud

How to Download ChromeDriver for Selenium

To download ChromeDriver for Selenium, check your installed Chrome version at chrome://settings/help, then download the matching ChromeDriver from the Chrome for Testing dashboard (for Chrome 115+) or the legacy ChromeDriver page, unzip the binary, and point your Selenium script to it or add it to your PATH. In Selenium 4.6 and later, Selenium Manager can download the correct driver automatically, so manual setup is often unnecessary.

The single most important rule is version matching: the ChromeDriver major version must equal your Chrome browser major version, or Selenium throws a SessionNotCreatedException the moment your test launches.

What Is ChromeDriver?

ChromeDriver is a standalone WebDriver server that implements the W3C WebDriver standard for Google Chrome. Selenium sends commands to ChromeDriver, which translates them into actions inside a real Chrome browser and returns the results. Because it is the bridge between your test code and the browser, its version must stay in sync with Chrome, which auto-updates roughly every four weeks.

Manual Download: Step by Step

  • Check your Chrome version: open chrome://settings/help and note the version, for example 149.0.7827.201. The major version is 149.
  • Pick the matching driver: for Chrome 115+, use the Chrome for Testing availability dashboard; for older versions use the legacy ChromeDriver download page.
  • Download for your OS: choose chromedriver-win64.zip (Windows), chromedriver-mac-x64.zip or chromedriver-mac-arm64.zip (macOS), or chromedriver-linux64.zip (Linux).
  • Extract and place it: unzip the archive and move the executable somewhere stable, such as C:\\chromedriver\\ on Windows or /usr/local/bin on macOS/Linux.
  • Make it executable (macOS/Linux): run chmod +x chromedriver so the OS can launch it.
  • Add it to PATH or reference it: either add the folder to your system PATH or point Selenium at the binary directly.

Here is how you reference ChromeDriver in a Selenium 4 Java test:

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.chrome.ChromeOptions;

public class ChromeTest {
    public static void main(String[] args) {
        // Only needed if the driver is NOT on your PATH
        System.setProperty("webdriver.chrome.driver", "C:\\chromedriver\\chromedriver.exe");

        ChromeOptions options = new ChromeOptions();
        WebDriver driver = new ChromeDriver(options);

        driver.get("https://www.example.com");
        System.out.println(driver.getTitle());
        driver.quit();
    }
}

The Easier Way: Selenium Manager and WebDriverManager

Since Selenium 4.6, a built-in tool called Selenium Manager detects your browser and downloads the matching ChromeDriver automatically, so the setProperty line above is no longer required. If you are on an older Selenium version, libraries like WebDriverManager (Java), webdriver-manager (Python), or the chromedriver npm package do the same job:

import io.github.bonigarcia.wdm.WebDriverManager;
import org.openqa.selenium.chrome.ChromeDriver;

// WebDriverManager downloads and caches the right driver
WebDriverManager.chromedriver().setup();
ChromeDriver driver = new ChromeDriver();

For a full walkthrough with more languages, see TestMu AI's guide to Selenium ChromeDriver automation testing and the WebDriver learning hub.

Common Mistakes and Troubleshooting

  • Version mismatch: the top cause of SessionNotCreatedException. Keep ChromeDriver's major version equal to Chrome's, or let Selenium Manager handle it.
  • Chrome auto-updated: Chrome updates silently and breaks a pinned driver. Re-download or use automatic driver management.
  • Wrong architecture on macOS: Apple Silicon needs the ARM64 build, not x64. Downloading the wrong one causes launch failures.
  • Driver not on PATH: if you skip setProperty and the binary is not on PATH, Selenium cannot find it. Add the folder or reference the path explicitly.
  • Missing execute permission: on macOS/Linux, forgetting chmod +x leaves the driver unrunnable.

Skip Driver Management With Cross-Browser Cloud Testing

Managing ChromeDriver locally means constantly chasing Chrome's update cycle, and it only covers one browser on one machine. Running your Selenium tests on TestMu AI's cloud removes that maintenance entirely: the platform hosts pre-configured, version-matched Chrome and ChromeDriver, so you point your test at a remote hub and never install a driver again. Better still, the same suite can run cross-browser testing across 3000+ real browsers and devices in parallel, so you validate Chrome, Firefox, Safari, and Edge together instead of one at a time.

Conclusion

Downloading ChromeDriver comes down to matching versions: check Chrome, grab the same major version from Chrome for Testing, extract it, and reference it in your script. On Selenium 4.6+, Selenium Manager does this for you, and driver-manager libraries help on older versions. To skip local driver upkeep entirely and test across every major browser at once, run your Selenium suite on a real-browser cloud grid.

Frequently Asked Questions

Do I still need to download ChromeDriver manually?

Not usually. Selenium 4.6 and later include Selenium Manager, which detects your Chrome version and downloads the matching ChromeDriver automatically the first time you run a test. Manual download is only needed for offline setups or older Selenium versions.

Where do I download ChromeDriver for Chrome 115 or newer?

Use the Chrome for Testing (CfT) availability dashboard. Since Chrome 115, ChromeDriver binaries are published there instead of the legacy download page, with matching versions for Windows, macOS (x64 and ARM), and Linux.

How do I fix SessionNotCreatedException?

This error means the ChromeDriver version does not match your installed Chrome. Check your Chrome version at chrome://settings/help, download the ChromeDriver with the same major version, or upgrade to Selenium 4.6+ so Selenium Manager handles matching for you.

How do I check my Chrome version?

Open Chrome and navigate to chrome://settings/help, or click the three-dot menu then Help and About Google Chrome. The page shows the full version number; the major version (before the first dot) is what must match ChromeDriver.

Can I manage ChromeDriver with a package manager?

Yes. WebDriverManager for Java, webdriver-manager for Python, and the chromedriver npm package all download and cache the correct binary automatically, so you avoid manual version tracking without upgrading Selenium.

How do I run Chrome tests without managing drivers at all?

Run your Selenium tests on a cloud grid. The provider hosts the matching Chrome and ChromeDriver versions, so you point your test at a remote hub and skip local driver installation, version conflicts, and updates entirely.

Related Questions

Test Your Website on 3000+ Browsers

Get 100 minutes of automation test minutes FREE!!

Test Now...

KaneAI - Testing Assistant

World’s first AI-Native E2E testing agent.

...

TestMu AI forEnterprise

Get access to solutions built on Enterprise
grade security, privacy, & compliance

  • Advanced access controls
  • Advanced data retention rules
  • Advanced Local Testing
  • Premium Support options
  • Early access to beta features
  • Private Slack Channel
  • Unlimited Manual Accessibility DevTools Tests