如何搭建支持Selenium自动化测试的Python浏览器驱动环境?

P粉602998670

P粉602998670

2026-07-27

823人浏览

原创

chromedriver版本必须与chrome浏览器主版本号严格匹配,否则会导致webdriverexception等异常;推荐使用webdriver-manager自动管理驱动版本并显式传入service对象。

如何搭建支持selenium自动化测试的python浏览器驱动环境?

ChromeDriver版本必须和Chrome浏览器严格匹配

不匹配的驱动和浏览器会导致 WebDriverException、浏览器闪退、页面空白或元素无法定位。这不是“差不多就行”的事,而是硬性约束。

查当前Chrome版本:在浏览器地址栏输入 chrome://version,看第一行“Google Chrome”后的数字(如 126.0.6478.127);

查对应ChromeDriver版本:访问 https://chromedriver.chromium.org/ 或国内镜像 https://npmmirror.com/mirrors/chromedriver/,找与主版本号一致的驱动(例如 Chrome 126.x → 必须用 ChromeDriver 126.x);

  • 不要下载最新版驱动就以为万事大吉——它可能只适配尚未发布的 Chrome Canary 版本
  • 不要手动解压后扔进任意目录就完事——路径没加到环境变量或没显式指定,webdriver.Chrome() 会直接报 FileNotFoundError
  • Windows 下注意区分 chromedriver.exechromedriver(Linux/macOS 无 .exe 后缀)

用 webdriver-manager 自动管理驱动比手动更可靠

手动下载+解压+放路径+更新驱动,是重复劳动且极易出错。尤其当 Chrome 自动升级后,旧驱动立刻失效,而你可能几天后才发现测试全挂了。

webdriver-manager 能在运行时自动检测本地 Chrome 版本,并下载、缓存、提供对应驱动路径,省去所有手动环节:

  • 安装:pip install webdriver-manager
  • 使用示例(Python):
    from selenium import webdriver
    from selenium.webdriver.chrome.service import Service
    from webdriver_manager.chrome import ChromeDriverManager
    
    driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()))
  • 它默认缓存驱动到用户目录(如 ~/.wdm),下次运行直接复用,不重复下载
  • 支持 ChromeDriverManager(version="126.0.6478.127") 锁定特定版本,适合 CI 环境要求确定性

不把 chromedriver 放进 PATH 也能跑,但得显式传 service 参数

很多人卡在“明明放了 chromedriver.exePython\Scripts 目录,却还是报找不到驱动”,根本原因是 Windows 的 PATH 没生效,或者用了虚拟环境导致路径隔离。

Comet AI 浏览器
Comet AI 浏览器

下载 Comet AI 浏览器,体验由 Perplexity AI 驱动的革命性上网方式。内置 AI 助手可实时总结网页、跨标签页对比信息、自动执行任务。告别繁琐操作,让 AI 成为你的浏览副驾,大幅提升研究与工作效率。支持 Windows、macOS、Android 和 iOS。

下载

最稳妥的做法不是依赖 PATH,而是显式构造 Service 对象:

  • 如果驱动放在项目根目录:Service("./chromedriver.exe")
  • 如果驱动放在绝对路径:Service(r"C:\tools\chromedriver.exe")(注意 Windows 路径用原始字符串或双反斜杠)
  • 避免用 executable_path=...(Selenium 4.10+ 已弃用,会触发 DeprecationWarning)
  • 确保文件有执行权限(Linux/macOS 上可能需 chmod +x chromedriver

验证环境是否真通,别只靠打开空白页

成功执行 webdriver.Chrome() 并弹出浏览器,不代表环境就 OK。很多问题要等真正操作页面才暴露。

最小有效验证脚本应包含三步:

  • 访问一个真实网页:driver.get("https://httpbin.org/html")
  • 尝试定位一个稳定元素:driver.find_element("tag name", "h1")
  • 读取文本并打印:print(el.text)

如果这三步都通过,说明驱动通信、页面加载、基础定位全部正常。只弹窗不访问、不交互,等于没验。

Chrome 自动更新快,驱动匹配是持续性工作,不是搭完就一劳永逸的事。每次 Chrome 升级后,要么让 webdriver-manager 自动应对,要么手动核对版本并更新驱动——这个动作没法跳过。

Python免费学习笔记(深入):立即使用
在学习笔记中,你将探索 Python 的核心概念和高级技巧!

相关文章

驱动精灵
驱动精灵

驱动精灵基于驱动之家十余年的专业数据积累,驱动支持度高,已经为数亿用户解决了各种电脑驱动问题、系统故障,是目前有效的驱动软件,有需要的小伙伴快来保存下载体验吧!

下载

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
python打包成可执行文件
python打包成可执行文件

本专题为大家带来python打包成可执行文件相关的文章,大家可以免费的下载体验。

2023.07.20

1104

4

python能做什么
python能做什么

python能做的有:可用于开发基于控制台的应用程序、多媒体部分开发、用于开发基于Web的应用程序、使用python处理数据、系统编程等等。本专题为大家提供python相关的各种文章、以及下载和课程。

2023.07.25

2026

7

format在python中的用法
format在python中的用法

Python中的format是一种字符串格式化方法,用于将变量或值插入到字符串中的占位符位置。通过format方法,我们可以动态地构建字符串,使其包含不同值。php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

2023.07.31

1184

3

python教程
python教程

Python已成为一门网红语言,即使是在非编程开发者当中,也掀起了一股学习的热潮。本专题为大家带来python教程的相关文章,大家可以免费体验学习。

2023.08.03

8498

23

python环境变量的配置
python环境变量的配置

Python是一种流行的编程语言,被广泛用于软件开发、数据分析和科学计算等领域。在安装Python之后,我们需要配置环境变量,以便在任何位置都能够访问Python的可执行文件。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.08.04

1430

5

python eval
python eval

eval函数是Python中一个非常强大的函数,它可以将字符串作为Python代码进行执行,实现动态编程的效果。然而,由于其潜在的安全风险和性能问题,需要谨慎使用。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.08.04

1503

5

scratch和python区别
scratch和python区别

scratch和python的区别:1、scratch是一种专为初学者设计的图形化编程语言,python是一种文本编程语言;2、scratch使用的是基于积木的编程语法,python采用更加传统的文本编程语法等等。本专题为大家提供scratch和python相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.11

859

5

python合并两个列表
python合并两个列表

Python是一种强大的编程语言,具有许多方便的功能和工具。在Python中,有多种方法可以合并两个列表。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.08.10

530

4

python是前端还是后端
python是前端还是后端

Python属于前端也属于后端,其灵活性和丰富的生态系统使得开发人员能够在不同的领域中灵活运用。本专题为大家提供python相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.11

1085

5

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PyCharm官方快速入门指南
PyCharm官方快速入门指南

共0课时 | 0人学习

Python函数定义官方教程
Python函数定义官方教程

共0课时 | 0人学习

Python 3.14.6官方文档
Python 3.14.6官方文档

共0课时 | 0人学习