Selenium控制Chrome出现证书解析错误的排查与解决问询
解决Selenium Chrome自动化中的证书解析错误
先验证Selenium启动的Chrome版本
代码方式直接查看
在你的自动化代码中加入以下片段,运行后就能看到实际启动的浏览器和驱动版本:
from selenium import webdriver options = webdriver.ChromeOptions() driver = webdriver.Chrome(options=options) # 打印浏览器版本 print("浏览器版本:", driver.capabilities['browserVersion']) # 打印驱动版本 print("Chromedriver版本:", driver.capabilities['chrome']['chromedriverVersion'].split(' ')[0]) driver.quit()
命令行排查系统中的Chrome版本
如果怀疑系统存在多个Chrome版本,用管理员权限打开命令提示符,执行以下命令查看已安装的Chrome版本和路径:
# 查看当前用户安装的Chrome版本 reg query "HKEY_CURRENT_USER\Software\Google\Chrome\BLBeacon" /v version # 查看系统级安装的Chrome版本 reg query "HKEY_LOCAL_MACHINE\Software\Google\Chrome\BLBeacon" /v version
如果发现有多个版本,直接在代码中指定正确的Chrome路径:
options = webdriver.ChromeOptions() # 替换为你实际的Chrome安装路径,默认路径示例如下 options.binary_location = r"C:\Program Files\Google\Chrome\Application\chrome.exe" driver = webdriver.Chrome(options=options)
解决证书解析错误的具体步骤
1. 严格匹配Chrome与Chromedriver版本
即使你已经下载了驱动,再仔细核对一遍:
- 打开Chrome,输入
chrome://version/复制完整版本号(比如120.0.6099.110) - 下载对应版本的Chromedriver,确保位数(32/64位)与你的Chrome一致
- 代码中指定Chromedriver路径,或者将驱动放到系统PATH目录下(比如
C:\Windows\System32)
2. 更新Windows系统根CA证书
管理员权限打开命令提示符,执行以下命令更新系统信任的根证书:
# 从Windows更新服务器获取最新根证书 certutil -generateSSTFromWU roots.sst # 将证书导入系统根存储 certutil -addstore -f root roots.sst # 删除临时文件 del roots.sst
3. 清理Chrome中的过期CA证书
打开Chrome,输入chrome://settings/certificates,切换到「受信任的根证书颁发机构」标签:
- 查看列表中的证书,找到过期的条目右键删除
- 如果有官方提供的最新根CA证书,可以点击「导入」手动添加
4. 强制Selenium使用系统证书存储
在ChromeOptions中添加参数,强制浏览器使用系统的SSL证书配置:
options = webdriver.ChromeOptions() options.add_argument('--use-system-ssl-certificates') driver = webdriver.Chrome(options=options)
内容的提问来源于stack exchange,提问作者Seleniumstudent
相关产品推荐
相关产品推荐

