{"id":1784,"library":"webdriver-manager","title":"webdriver-manager","description":"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.","status":"active","version":"4.0.2","language":"en","source_language":"en","source_url":"https://github.com/SergeyPirogov/webdriver_manager","tags":["selenium","web automation","browser driver","chrome","firefox","edge","opera"],"install":[{"cmd":"pip install webdriver-manager","lang":"bash","label":"Install latest version"}],"dependencies":[{"reason":"Used for making HTTP requests to download driver executables.","package":"requests","optional":false},{"reason":"Used for parsing and comparing version numbers.","package":"packaging","optional":false},{"reason":"Optional dependency for displaying download progress bars.","package":"tqdm","optional":true}],"imports":[{"symbol":"ChromeDriverManager","correct":"from webdriver_manager.chrome import ChromeDriverManager"},{"symbol":"GeckoDriverManager","correct":"from webdriver_manager.firefox import GeckoDriverManager"},{"symbol":"EdgeChromiumDriverManager","correct":"from webdriver_manager.microsoft import EdgeChromiumDriverManager"},{"note":"OperaDriverManager is often confused as being part of the chrome submodule, but it resides in its own 'opera' submodule.","wrong":"from webdriver_manager.chrome import OperaDriverManager","symbol":"OperaDriverManager","correct":"from webdriver_manager.opera import OperaDriverManager"}],"quickstart":{"code":"from selenium import webdriver\nfrom selenium.webdriver.chrome.service import Service\nfrom webdriver_manager.chrome import ChromeDriverManager\n\n# Automatically download and install the correct ChromeDriver\ndriver_path = ChromeDriverManager().install()\n\n# Initialize the Chrome service with the installed driver\nservice = Service(driver_path)\n\n# Initialize the Chrome WebDriver\ndriver = webdriver.Chrome(service=service)\n\n# Example usage: navigate to a page\ndriver.get(\"https://www.google.com\")\nprint(f\"Page title: {driver.title}\")\n\n# Close the browser\ndriver.quit()","lang":"python","description":"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."},"warnings":[{"fix":"Review the official documentation and adapt custom code for changes in internal driver class structure if you were interacting with private APIs.","message":"Version 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.","severity":"breaking","affected_versions":">=4.0.0"},{"fix":"Upgrade to `webdriver-manager` v4.0.0 or newer to benefit from improved error handling, network resilience, and better browser detection.","message":"Prior 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.","severity":"gotcha","affected_versions":"<4.0.0"},{"fix":"Ensure `webdriver-manager` is at least v4.0.1 to correctly handle driver downloads for older Chrome browser versions.","message":"Users 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.","severity":"gotcha","affected_versions":"<4.0.1 (when targeting Chrome < 113)"},{"fix":"Upgrade to `webdriver-manager` v3.8.4 or newer for correct Chromedriver downloads on Apple M1/M2/ARM architectures.","message":"Chromedriver 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.","severity":"gotcha","affected_versions":"<3.8.4 (on M1/M2 Macs)"}],"env_vars":null,"last_verified":"2026-04-09T00:00:00.000Z","next_check":"2026-07-08T00:00:00.000Z"}