一、典型故障现象
在基于 Selenium 执行 Web 自动化测试时,最常见的启动异常是版本不匹配导致的会话创建失败:
text
SessionNotCreatedException: session not created:
This version of ChromeDriver only supports Chrome version 91
Current browser version is 110.0.5481.178浏览器主版本与驱动主版本必须严格保持一致。例如 Chrome 110 必须使用 110 系列的 ChromeDriver。
二、免手动下载推荐方案:Selenium Manager
在 Selenium 4.6+ 版本中,官方内置了 Selenium Manager 机制,支持运行时自动探测本机安装的 Chrome 大版本并拉取匹配的驱动程序:
bash
pip install -U selenium代码中无需显式指定 executable_path:
python
from selenium import webdriver
driver = webdriver.Chrome()
driver.get("https://example.com")在网络畅通的开发机环境下,优先推荐该自动化方案。
三、离线或受控环境手动匹配规范
在企业内网、离线跳板机或受安全策略限制的测试机上,往往需要手动锁定驱动版本:
- 查看实际浏览器版本:在目标 Chrome 地址栏输入
chrome://version,记录大版本号(如 110)。 - 下载对应版本驱动:
- Chrome 115 之前:在旧版 ChromeDriver 官方归档源查找对应大版本的 zip;
- Chrome 115 之后:Chrome 团队统一迁移至 Chrome for Testing 平台,提供固定版本的浏览器二进制包与配套驱动。
- 环境注入:将下载解压后的
chromedriver.exe放入系统环境变量PATH(如 Python 根目录或/usr/local/bin)。
驱动版本务必严格对应流水线实际运行测试所调用的 Chrome,避免受开发者本机自动升级影响导致偶发报错。