使用Selenium调用ChromeDriver遇退出错误(状态码-6)及弃用警告求助
解决方案
1. 修复executable_path弃用警告
Selenium 4.x 已弃用executable_path参数,需改用Service类管理驱动程序。修改代码如下:
首先导入Service类:
from selenium.webdriver.chrome.service import Service
替换驱动初始化代码:
# 初始化Service对象,指定ChromeDriver路径 service = Service('C:\\chromedriver.exe') # 传入Service实例启动Chrome driver = webdriver.Chrome(service=service)
2. 解决WebDriverException(状态码-6)
状态码-6通常由以下原因导致,按优先级排查:
(1)匹配Chrome与ChromeDriver的位数和版本
你的Chrome是64位,但使用的是32位ChromeDriver,位数不兼容可能导致驱动启动失败。同时,Chrome版本(109.0.5414.75)与ChromeDriver版本(109.0.5414.74)存在小版本差异,虽理论上兼容,但仍可能引发问题。
解决:
- 下载对应64位的ChromeDriver 109.0.5414.75版本(与Chrome完全一致),替换现有驱动文件。
(2)使用webdriver-manager自动管理驱动(推荐)
手动管理驱动易出现版本/位数不匹配问题,webdriver-manager可自动下载匹配的ChromeDriver,无需手动指定路径:
先安装依赖:
pip install webdriver-manager
修改代码导入并使用:
from selenium import webdriver from selenium.webdriver.chrome.service import Service from webdriver_manager.chrome import ChromeDriverManager # 自动下载并使用匹配的ChromeDriver driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()))
(3)检查ChromeDriver权限
确保chromedriver.exe所在路径有足够读写权限,避免系统阻止驱动运行。可尝试将驱动移动到非系统目录(如D:\drivers\chromedriver.exe)后再测试。
(4)关闭Chrome的自动更新(可选)
若Chrome自动更新后版本与驱动不匹配,会再次出现问题。可通过组策略或修改注册表关闭Chrome自动更新(仅针对Windows系统)。
内容的提问来源于stack exchange,提问作者Rocheteau
相关产品推荐
相关产品推荐

