Python亚马逊自动化脚本遇Chromedriver版本无法识别错误求助
排查Selenium POM脚本触发NoSuchDriverException的问题
核心故障现象
此前正常运行的亚马逊加购自动化测试脚本(基于Selenium POM架构)启动时触发NoSuchDriverException,错误核心提示:The chromedriver version cannot be discovered,即Selenium Manager无法识别并匹配对应版本的chromedriver。
分步排查方案
1. 校验Chrome浏览器与Selenium版本兼容性
- 手动查看本地Chrome版本:打开Chrome→设置→关于Chrome,确认当前浏览器版本号
- 检查Selenium版本是否支持该Chrome版本:
- Selenium 4.6及以上版本自带Selenium Manager,可自动匹配chromedriver,但如果Chrome是最新版,而Selenium版本过旧,会出现版本识别失败
- 执行
pip show selenium(Python项目)或查看pom.xml(Java项目)确认Selenium版本,建议升级至最新稳定版:pip install --upgrade selenium
2. 验证Selenium Manager的运行权限与可用性
- 检查运行脚本的用户是否拥有临时目录读写权限(Selenium Manager会在系统临时目录下载、存储chromedriver)
- 手动执行Selenium Manager命令验证功能:
找到对应系统的Selenium Manager二进制文件(比如Python环境下的selenium/webdriver/common/linux/selenium-manager),执行:
若命令无法正常输出chromedriver的路径与版本,说明Selenium Manager本身存在运行故障./selenium-manager --browser chrome
3. 确认Chrome浏览器的可访问性
- 部分系统中Chrome未被添加到环境变量,导致Selenium Manager无法定位浏览器安装路径
- 可在脚本中手动指定Chrome二进制文件路径:
from selenium.webdriver.chrome.options import Options chrome_options = Options() # Windows示例路径 chrome_options.binary_location = "C:/Program Files/Google/Chrome/Application/chrome.exe" # macOS示例路径 # chrome_options.binary_location = "/Applications/Google Chrome.app/Contents/MacOS/Google Chrome" driver = webdriver.Chrome(options=chrome_options)
4. 清理本地残留的chromedriver文件
- 若之前手动下载过chromedriver并放置在系统路径或项目目录,可能与Selenium Manager自动下载的版本产生冲突
- 删除本地所有残留的chromedriver文件,让Selenium Manager重新自动匹配、下载对应版本的驱动
5. 排查网络环境限制
- Selenium Manager需要从官方源下载chromedriver,若网络存在代理、防火墙限制,会导致下载失败或版本识别错误
- 尝试切换无限制的网络环境,或手动下载与Chrome版本匹配的chromedriver,在脚本中指定驱动路径:
driver = webdriver.Chrome(executable_path="/path/to/your/chromedriver")
内容的提问来源于stack exchange,提问作者Oğuzhan Bilir
相关产品推荐
相关产品推荐

