Linux Mint下PyCharm运行Selenium时executable_path报错求助
解决Linux Mint下PyCharm中Selenium指定chromedriver路径仍报错的问题
我来帮你排查这个头疼的问题——明明已经指定了chromedriver的绝对路径/usr/bin/chromedriver,却还是收到“需要在PATH中”的错误提示,这种情况在PyCharm环境里其实挺常见的,主要有几个可能的原因和对应的解决办法:
1. 检查PyCharm的运行环境PATH配置
有时候PyCharm的运行环境和系统终端的PATH并不完全一致,哪怕你在终端里能找到chromedriver,PyCharm的进程可能访问不到。
- 先在PyCharm里运行这段代码,查看当前环境的PATH:
import os print(os.environ['PATH']) - 如果输出里没有
/usr/bin,就需要手动添加:- 打开PyCharm顶部菜单栏的
Run > Edit Configurations - 在弹出的窗口中,找到你当前的运行配置,点击
Environment variables旁边的编辑按钮 - 在PATH变量的末尾追加
:/usr/bin(注意前面的冒号是路径分隔符) - 保存配置后重新运行你的脚本
- 打开PyCharm顶部菜单栏的
2. 验证chromedriver的权限与版本匹配
- 权限检查:确保chromedriver有可执行权限,在终端运行:
chmod +x /usr/bin/chromedriver - 版本匹配:Chrome浏览器和chromedriver的大版本必须一致,否则会出现兼容性问题。分别在终端运行以下命令查看版本:
如果版本不匹配,下载对应版本的chromedriver替换掉chromedriver --version google-chrome --version/usr/bin目录下的旧文件即可。
3. 改用Service类初始化(适配Selenium 4+版本)
如果你使用的是Selenium 4及以上版本,executable_path参数已经被官方弃用,推荐使用Service类来指定驱动路径,这样能避免旧参数的兼容问题:
from selenium import webdriver from selenium.webdriver.chrome.service import Service # 用Service类指定chromedriver路径 service = Service(executable_path='/usr/bin/chromedriver') driver = webdriver.Chrome(service=service) driver.get("https://google.com") driver.close()
4. 将chromedriver放到项目目录中(绕开系统PATH限制)
你可以把chromedriver下载到自己的项目目录里,比如创建一个drivers文件夹存放它,然后在代码里使用相对路径:
from selenium import webdriver # 假设chromedriver在项目根目录的drivers文件夹下 driver = webdriver.Chrome(executable_path='./drivers/chromedriver') driver.get("https://google.com") driver.close()
这种方式不受系统PATH的影响,也更方便项目的移植和共享。
内容的提问来源于stack exchange,提问作者LukaszK
相关产品推荐
相关产品推荐

