You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Selenium调用ChromeDriver时提示无Chrome二进制文件的求助

解决方案

1. 先修正代码的逻辑错误

你的代码有两个致命问题:

  • 初始化浏览器驱动之后才添加启动参数,等于白配置
  • 新版本Selenium里chrome_options参数已废弃,需改用options

修正后的代码:

from selenium import webdriver

# 先初始化配置对象,把所有启动参数加在前面
options = webdriver.ChromeOptions()
options.add_argument('--headless')
options.add_argument('--no-sandbox')
options.add_argument('--disable-dev-shm-usage')

# 指定Chrome安装路径(先确认路径真实存在)
options.binary_location = "/Applications/Google Chrome.app/Contents/MacOS/Google Chrome"

# 初始化驱动,用options传入配置
chrome_driver_binary = "/usr/local/bin/chromedriver"
driver = webdriver.Chrome(executable_path=chrome_driver_binary, options=options)

2. 确认Chrome的路径是否正确

打开终端执行以下命令,验证路径是否存在文件:

ls "/Applications/Google Chrome.app/Contents/MacOS/Google Chrome"

如果提示找不到文件,说明你安装的不是标准版Chrome,改成对应版本的路径:

  • Chrome Beta测试版:/Applications/Google Chrome Beta.app/Contents/MacOS/Google Chrome Beta
  • Chrome Canary金丝雀版:/Applications/Google Chrome Canary.app/Contents/MacOS/Google Chrome Canary

3. 保证Chromedriver与Chrome版本完全匹配

  1. 打开Chrome,在地址栏输入chrome://version/查看版本号(比如125.0.6422.112)
  2. 下载对应大版本的Chromedriver(必须保证主版本号一致,如125.x驱动配125.x的Chrome)
  3. 将下载的Chromedriver放到/usr/local/bin/目录,并赋予执行权限:
chmod +x /usr/local/bin/chromedriver

4. 简化配置(可选)

如果Chrome是默认安装的,无需手动指定binary_location,Selenium会自动查找路径,代码可简化为:

from selenium import webdriver

options = webdriver.ChromeOptions()
options.add_argument('--headless')
options.add_argument('--no-sandbox')
options.add_argument('--disable-dev-shm-usage')

# 只要Chromedriver在系统PATH中,直接初始化即可
driver = webdriver.Chrome(options=options)

5. 排查权限问题

如果仍报错,可尝试用sudo运行脚本(仅用于排查权限问题,不建议长期使用):

sudo python3 你的脚本文件名.py

内容的提问来源于stack exchange,提问作者Samuel Hunter

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.09 01:00:21