Registry / testing / webdriver-manager

webdriver-manager

JSON →
library4.1.2pypypi✓ verified 26d ago

webdriver-manager is a Python library that automatically manages browser drivers for Selenium. It handles downloading, installing, and caching the correct driver executable for your installed browser, eliminating manual driver management. The current version is 4.0.2, and it maintains an active release cadence with frequent bug fixes and support for new browser versions.

pip install webdriver-manager
INSTALL
IMPORT
SIG · WEBDRIVER-MANAGER
W
webdriver-manager
testingpythonv4.1.2
Install
2.3s avg
Import
409ms
Disk
21MB
Pass rate
10/ 10
Env Coverage10 / 10
glibc
3.93.13
musl
3.93.13
Install & Compatibility
Where this runs
tested against v4.1.2 · pip install
no network on importno background threads
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
py 3.103.95 runs
installs and imports cleanly · install 0.0s · import 0.426s · 22.4MB
glibc
py 3.103.95 runs
installs and imports cleanly · install 2.3s · import 0.392s · 23MB
21MB installed
● package 21MB
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

ChromeDriverManager
from webdriver_manager.chrome import ChromeDriverManager
GeckoDriverManager
from webdriver_manager.firefox import GeckoDriverManager
EdgeChromiumDriverManager
from webdriver_manager.microsoft import EdgeChromiumDriverManager
OperaDriverManager
from webdriver_manager.opera import OperaDriverManager
from webdriver_manager.chrome import OperaDriverManager
OperaDriverManager is often confused as being part of the chrome submodule, but it resides in its own 'opera' submodule.

This quickstart demonstrates how to use `webdriver-manager` to automatically obtain the correct Chrome driver, then integrate it with `selenium` to launch a browser, navigate to a URL, and print its title. Replace `ChromeDriverManager` with `GeckoDriverManager` for Firefox, `EdgeChromiumDriverManager` for Edge, etc.

from selenium import webdriver from selenium.webdriver.chrome.service import Service from webdriver_manager.chrome import ChromeDriverManager # Automatically download and install the correct ChromeDriver driver_path = ChromeDriverManager().install() # Initialize the Chrome service with the installed driver service = Service(driver_path) # Initialize the Chrome WebDriver driver = webdriver.Chrome(service=service) # Example usage: navigate to a page driver.get("https://www.google.com") print(f"Page title: {driver.title}") # Close the browser driver.quit()
webdriver-manager --version
Debug
Known issues
breakingVersion 4.0.0 introduced significant internal refactoring of driver classes. While the primary `.install()` method generally remained stable, custom or advanced integrations with internal driver manager components may require updates.
fix
Review the official documentation and adapt custom code for changes in internal driver class structure if you were interacting with private APIs.
affects: >=4.0.0
gotchaPrior to v4.0.0, the library could raise unhandled `NameError` or `TypeError` exceptions if running offline or if it failed to detect the installed browser's version, leading to script failures.
fix
Upgrade to `webdriver-manager` v4.0.0 or newer to benefit from improved error handling, network resilience, and better browser detection.
affects: <4.0.0
gotchaUsers working with Chrome browser versions less than 113 might encounter issues with driver downloads due to changes in Chrome's driver distribution method. This was specifically addressed in `webdriver-manager` v4.0.1.
fix
Ensure `webdriver-manager` is at least v4.0.1 to correctly handle driver downloads for older Chrome browser versions.
affects: <4.0.1 (when targeting Chrome < 113)
gotchaChromedriver download URLs for Apple M1/M2 (ARM) Macs changed, causing download failures for users on this architecture with `webdriver-manager` versions prior to v3.8.4.
fix
Upgrade to `webdriver-manager` v3.8.4 or newer for correct Chromedriver downloads on Apple M1/M2/ARM architectures.
affects: <3.8.4 (on M1/M2 Macs)
Errors
Common errors & fixes
selenium.common.exceptions.WebDriverException: Message: 'chromedriver' executable needs to be in PATH
Selenium cannot find the ChromeDriver executable because it's not in the system's PATH, often indicating that `webdriver-manager` was not used correctly or failed to provide the driver's path.
fix
Ensure `webdriver-manager` is correctly integrated by passing the installed driver's path to Selenium's `Service` object.
webdriver_manager.core.driver_manager.DriverNotFoundError: No such driver found for chrome=XX.X.XXXX.XX
`webdriver-manager` could not find a compatible driver for the specific version of your browser (e.g., Chrome) installed on the system, often because the browser is too new or too old for the `webdriver-manager` version.
fix
Update `webdriver-manager` to the latest version, then retry running your Selenium code.
ModuleNotFoundError: No module named 'webdriver_manager'
The `webdriver-manager` library is not installed in the Python environment being used, or there is a typo in the import statement.
fix
Install the library using pip in your active Python environment.
PermissionError: [Errno 13] Permission denied: '/path/to/driver/executable'
The Python process lacks the necessary write permissions to create or extract the driver executable into the default cache directory or a specified custom path.
fix
Specify an accessible cache directory for `webdriver-manager` to store the driver executables.
Upgrade
Version history
4.1.2latest on PyPI · released Jun 4, 2026
Audit
Dependencies
requestsrequiredUsed for making HTTP requests to download driver executables.
packagingrequiredUsed for parsing and comparing version numbers.
tqdmoptionalOptional dependency for displaying download progress bars.
Agent activity
16 hits · last 30 days
node
14
Resources
webdriver-manager — pip install webdriver-manager · libregistry