skillfed

webdriver-manager

Library provides the way to automatically manage drivers for different browsers

webdriver-manager v4.1.2 11.6M downloads/30d#1,377 on PyPI2,185
Permissive license Apache-2.0 Active released

What it is and what it does

webdriver-manager is a Python library that automates the download, caching, and resolution of browser driver binaries. Instead of manually downloading driver binaries, unpacking them, and hardcoding file paths in your code, you call a manager class from Python to retrieve the correct driver for your OS and browser. The library handles version detection, platform-specific binary selection, and local caching so drivers are reused across runs. It supports ChromeDriver, EdgeChromiumDriver, GeckoDriver, IEDriver, and OperaDriver across Windows, macOS, and Linux.

The package is designed for scenarios where you need explicit control over driver management—supporting older Selenium versions, pinning specific driver versions, customizing cache locations, using custom download mirrors, working around network restrictions, or managing alternative Chromium-based browsers. The description notes that for modern Selenium 4.6+ projects with standard browser setups, Selenium Manager (built into Selenium) is the recommended default; webdriver-manager is most useful when that automatic approach is insufficient or when you want to integrate driver setup directly into your Python code.

Use it for:

  • Supporting Selenium 3 or older Selenium 4 projects that predate automatic driver management.
  • Pre-downloading and caching drivers in CI or Docker images to avoid repeated downloads during test runs.
  • Pinning or resolving a specific driver version independently of the browser version on the system.
  • Working around corporate proxies, SSL restrictions, or custom download URLs by configuring custom driver sources.
  • Managing alternative Chromium-based browsers alongside standard Chrome.
  • Debugging driver resolution and download behavior explicitly when automatic approaches are opaque.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Automatically downloads, caches, and manages browser driver binaries for browser automation, resolving the need to manually handle driver installation and paths.

Yes, if you are using Selenium 3, early Selenium 4, or need explicit control over driver versions, caching, and download sources. No if you are on Selenium 4.6+ with standard browsers—use the built-in alternative instead. The package is actively maintained, has no known vulnerabilities, low install friction, and a permissive license; the decision hinges on whether you need the control it offers.

Install

webdriver-manager on PyPI

pip

pip install webdriver-manager

uv

uv add webdriver-manager

poetry

poetry add webdriver-manager

Installing webdriver-manager

Before you install

Low friction install with three lightweight runtime dependencies (requests, python-dotenv, packaging). The package is actively maintained with a recent release on 2026-06-04 and has accumulated 2185 GitHub stars, indicating stable, well-used code.

License in practice

Apache-2.0 is a permissive license allowing commercial and private use with minimal restrictions, making this package straightforward to adopt in most projects.

Quickstart

pip install webdriver-manager

from webdriver_manager.chrome import ChromeDriverManager

driver_path = ChromeDriverManager().install()

Requires a browser and corresponding driver binary to be available on the system; the package downloads and caches the driver but does not include browsers themselves.

Verify before relying

  • Whether cached drivers persist across Python environments or require re-download in isolated CI/container setups.
  • Performance impact of driver resolution and download on first-run or when cache invalidation occurs.
  • Compatibility with Selenium versions prior to 3.x or after 4.x.

Package facts

License Apache-2.0 (permissive)
Python support supports the current Python release (>=3.7)
Install friction low — pure-Python wheel
Runtime dependencies 3 — requests, python-dotenv, packaging
Maintenance actively maintained — 71 days since the last release
Last repo commit
First released
Downloads 11,626,213/month — #1,377 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: webdriver_manager-4.1.2-py3-none-any.whl

Keywords: testing, selenium, driver, test automation

Intended Audience :: DevelopersIntended Audience :: Information TechnologyOperating System :: MacOSOperating System :: Microsoft :: WindowsOperating System :: POSIXOperating System :: UnixProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Programming Language :: Python :: 3.7Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9Topic :: Software Development :: Libraries :: Python Modules

Tags

selenium driver managementbrowser driver download automationwebdriver binary cachingautomated driver resolutionbrowser automation driver setupdriver version pinningtest automation driver management
browser-automationtest-infrastructuredriver-management

More Python Modules packages