Chromedriver路径配置正常但无法在Python的Selenium中使用
解决Selenium ChromeDriver路径找不到的问题
我来帮你排查这个困扰你的问题——你明明在终端能正常启动ChromeDriver,但Python脚本里不管是用环境变量还是指定路径都报找不到文件的错误,核心问题出在路径解析、环境变量生效或者权限上,下面是几个针对性的解决步骤:
1. 修复波浪号(~)的路径解析问题
Python的文件路径处理不会自动把波浪号(~)解析成你的用户目录,这是shell的特性,Python不支持直接解析。所以你指定的~/drivers/chromedriver在Python眼里就是一个字面量路径,自然找不到文件。
解决方法有两种:
- 直接使用绝对路径,比如Mac/Linux下写成
/Users/你的用户名/drivers/chromedriver,Windows下写成C:\Users\你的用户名\drivers\chromedriver.exe - 用Python的
os.path.expanduser()函数来展开波浪号,示例代码:import os from selenium import webdriver # 自动把~转换成用户目录的绝对路径 driver_path = os.path.expanduser("~/drivers/chromedriver") driver = webdriver.Chrome(executable_path=driver_path)
2. 验证环境变量是否真正生效
有时候你修改了bash profile后,当前终端窗口并没有加载新的配置,或者Python运行时的环境变量和终端的不一致。
- 先在终端运行
echo $PATH,看看~/drivers是否出现在输出的路径列表里,如果没有,重启终端或者运行source ~/.bash_profile让配置生效。 - 在Python脚本里打印当前的PATH,确认环境变量是否被Python读取到:
如果看不到import os print(os.environ["PATH"])~/drivers的路径,可以在脚本里临时添加环境变量:import os from selenium import webdriver # 把ChromeDriver所在目录添加到系统PATH os.environ["PATH"] += os.pathsep + os.path.expanduser("~/drivers") driver = webdriver.Chrome()
3. 检查ChromeDriver的可执行权限
如果ChromeDriver没有可执行权限,即使路径正确,Python也无法运行它。在终端执行以下命令给它添加权限:
chmod +x ~/drivers/chromedriver
4. 确认Chrome和ChromeDriver版本匹配
虽然你能在终端启动ChromeDriver,但如果Chrome浏览器的版本和ChromeDriver版本不兼容,也可能触发类似的路径错误(本质是启动失败被误报)。你可以:
- 打开Chrome,点击菜单→关于Google Chrome查看浏览器版本
- 下载对应版本的ChromeDriver(比如Chrome 114.x对应ChromeDriver 114.x.x.x),替换掉当前的驱动文件
内容的提问来源于stack exchange,提问作者Dannydjrs
相关产品推荐
相关产品推荐

