的 Python 库)
webdriver-manager是一个用于自动管理 Selenium WebDriver 驱动如 ChromeDriver、GeckoDriver 等的 Python 库它能根据当前浏览器版本自动下载、缓存并配置对应版本的驱动程序避免手动下载和路径配置的繁琐操作。✅核心功能自动检测本地浏览器版本如 Chrome、Firefox自动下载匹配的 WebDriver 二进制文件如 chromedriver-win64.zip自动解压并设置executable_pathSelenium 4.10 后推荐使用Service类支持离线缓存重复运行时复用已下载驱动兼容 Windows/macOS/Linux。安装与基本用法Selenium 4.10 推荐方式pipinstallwebdriver-managerfromseleniumimportwebdriverfromselenium.webdriver.chrome.serviceimportServicefromwebdriver_manager.chromeimportChromeDriverManager# 自动下载并启动 ChromeserviceService(ChromeDriverManager().install())driverwebdriver.Chrome(serviceservice)driver.get(https://www.baidu.com)driver.quit()⚠️ 注意事项Selenium ≥ 4.10 已弃用executable_path参数必须使用Service对象若需指定浏览器版本如测试旧版 Chrome可传参ChromeDriverManager(version120.0.6099.109)支持 Firefox、Edge、Opera 等对应GeckoDriverManager、EdgeChromiumDriverManager等默认缓存路径为~/.wdm/可通过环境变量WDM_CACHE_DIR自定义。✅ 替代方案现代趋势Selenium 4.11 引入了内置的Selenium Manager无需额外安装webdriver-manager只需确保selenium4.11.0且未显式指定 driver 路径Selenium 会自动调用其内置管理器实验性但日趋稳定。webdriver-manager第三方库与 Selenium 内置的Selenium Manager自 Selenium 4.11.0 起正式引入本质目标相同自动管理浏览器驱动如 ChromeDriver、GeckoDriver但二者在设计哲学、维护主体、稳定性、功能覆盖和使用方式上存在关键区别维度webdriver-managerv4.xSelenium 内置Selenium ManagerSelenium ≥4.11.0开发与维护方社区独立维护pypi.org/project/webdriver-manager官方 Selenium 团队W3C WebDriver 标准推动者直接集成集成方式需显式安装pip install webdriver-manager手动调用.install()开箱即用无需额外依赖只要未指定Service(executable_path...)Selenium 自动启用驱动发现逻辑依赖解析本地浏览器二进制如chrome --version再映射到 driver 版本同样基于浏览器版本探测但通过更健壮的跨平台 CLI 工具Rust 实现执行支持更多浏览器及版本策略如 fallback、latest-known缓存机制使用本地文件系统缓存默认~/.wdm/支持自定义路径和离线模式缓存位于~/.cache/selenium/同样支持离线重用且缓存结构更规范、清理更安全浏览器支持Chrome、Firefox、Edge、Opera、IE部分已弃用Chrome、Firefox、Edge、SafarimacOS、GeckoFirefox——Safari 支持为官方原生增强亮点稳定性与更新节奏更新较慢偶有版本兼容问题如 Chrome 新版发布后延迟适配与 Selenium 主版本强绑定紧跟 Chromium/Firefox 发布节奏修复更快推荐使用场景• 需要精细控制驱动版本如固定ChromeDriverManager(version125.0.6422.60)• 迁移旧项目Selenium 4.11且暂不升级• 依赖其高级 API如自定义下载源、代理配置、回调钩子• 新项目首选Selenium ≥4.11• 追求最小依赖、标准化流程• 需要 Safari 自动化或企业级 CI 稳定性保障• 希望未来免维护随 Selenium 升级自动演进✅何时选哪一种✅优先选 Selenium Manager新项目、生产环境、追求长期可维护性、使用最新 Selenium≥4.11⚠️仍可选 webdriver-manager需锁定特定 driver 版本做兼容性测试、定制下载源如内网镜像、或项目受限于旧 Selenium 版本4.11且无法升级。 补充说明Selenium Manager 并非完全取代webdriver-manager而是提供“零配置”默认体验。若webdriver-manager的某项高级能力如cache_valid_range1强制每日刷新不可替代仍可共存——但需注意避免 Service 冲突二者不可同时生效。