Selenium: NoSuchDriverException: Unable to obtain driver for chrome
Last verified
selenium.common.exceptions.NoSuchDriverException: Message: Unable to obtain driver for chrome; For documentation on this error, please visit: https://www.selenium.dev/documentation/webdriver/troubleshooting/errors/driver_locationWhat it means
Selenium could not find or obtain a driver executable for the browser you requested. Since Selenium 4.6, if no driver is on PATH and none is configured, Selenium runs Selenium Manager to detect the browser and download the matching driver. This exception means that whole process failed. Earlier Selenium 4 releases worded it Unable to obtain driver for chrome using Selenium Manager.; current releases end the message with a link to Selenium's driver location troubleshooting page.
Selenium Manager needs to identify the browser version and reach the driver download endpoints. Behind a corporate proxy or firewall, in offline CI, on unsupported architectures, or when the bundled selenium-manager binary is missing from a broken install, it cannot. A hard-coded driver path pointing at a file that does not exist produces the same exception.
What is not wrong: your test code and the browser itself, unless the browser is also missing.
What it looks like
import logging
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
logging.getLogger("selenium").setLevel(logging.DEBUG)
# Default: let Selenium Manager resolve the driver
driver = webdriver.Chrome()
# Offline / locked-down CI: use a pre-installed driver
# driver = webdriver.Chrome(service=Service("/opt/drivers/chromedriver"))Why it happens
- The machine cannot reach the driver download endpoints (proxy, firewall, offline CI).
- An explicit driver path points to a file that does not exist or is not executable.
- The selenium-manager binary is missing from the installed package (corrupted or partial install).
- The browser is not installed and Selenium Manager could not download one.
- Running on an architecture or OS that Selenium Manager does not support for that browser.
How to fix it
- Upgrade Selenium to the current release; many early Selenium Manager bugs are fixed.
- Turn on logging to see Selenium Manager's output (in Python, set the selenium logger to DEBUG).
- Behind a proxy, set HTTPS_PROXY for the process, or pre-download the driver and point to it with Service(executable_path=...).
- Remove hard-coded driver paths that point to missing files.
- Reinstall the binding in a clean virtual environment if the selenium-manager binary is missing.
How to stop it recurring
In networks that block downloads, bake the browser and matching driver into the CI image and reference them explicitly. Elsewhere, rely on Selenium Manager with an up-to-date Selenium. Keep a start-up smoke test so driver resolution problems fail fast and clearly.
Official documentation: www.selenium.dev/documentation/webdriver/troubleshooting/errors/driver_location. See all Selenium error messages.
Related errors
Definitions
- SeleniumSelenium is an open-source browser automation project, best known for Selenium WebDriver, a library that contr
- ChromeDriverChromeDriver is the Chromium project's standalone server that implements the W3C WebDriver standard for Chrome
- CSS SelectorA CSS selector is a pattern used to identify and target specific HTML elements on a web page, widely used in b
- Headless ChromeHeadless Chrome is Google Chrome running without a visible window. It renders pages and runs JavaScript like n
- IframeAn iframe (inline frame) is an HTML element that embeds a separate web page within a parent page, creating an
- Web ElementA web element is any individual component rendered on a web page — buttons, links, input fields, images, text
Quick answers
What does "NoSuchDriverException: Unable to obtain driver for chrome" mean in Selenium?
Selenium could not find or obtain a driver executable for the browser you requested. Since Selenium 4.6, if no driver is on PATH and none is configured, Selenium runs Selenium Manager to detect the browser and download the matching driver. This exception means that whole process failed. Earlier Selenium 4 releases worded it Unable to obtain driver for chrome using Selenium Manager.
How do I fix "NoSuchDriverException: Unable to obtain driver for chrome"?
1. Upgrade Selenium to the current release; many early Selenium Manager bugs are fixed. 2. Turn on logging to see Selenium Manager's output (in Python, set the selenium logger to DEBUG). 3. Behind a proxy, set HTTPS_PROXY for the process, or pre-download the driver and point to it with Service(executable_path=...). 4. Remove hard-coded driver paths that point to missing files. 5. Reinstall the binding in a clean virtual environment if the selenium-manager binary is missing.
Run browser automation you can watch and take over
Autonoly runs each job in a real cloud Chromium browser driven by Playwright. Timeouts and detached elements still happen; the difference is that you can watch the run live, see the step that failed, and take control of the browser to finish it.
Also see Live browser control.