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

MacOS下Python+Selenium报错OSError: [Errno 8] Exec format error

解决OSError: [Errno 8] Exec format error的方案

这个错误的核心原因很明确——你下载的chromedriver二进制文件和你的MacOS系统架构不兼容,大概率是不小心下成了Windows或者Linux版本,而非适配Mac的版本。下面是一步步的解决步骤:

1. 清理现有问题chromedriver

先把之前安装的两个chromedriver都清理掉,避免冲突:

  • 卸载brew安装的版本:
    brew uninstall chromedriver
    
  • 删除你手动放置的二进制文件:
    rm /Users/me/bin/chromedriver
    

2. 重新正确安装chromedriver

最稳妥的方式是用brew自动安装,它会自动匹配你的MacOS版本和架构:

brew install chromedriver

安装完成后,一定要验证版本兼容性:

  • 执行chromedriver --version查看驱动版本
  • 打开Chrome浏览器,通过「Chrome菜单 → 关于Google Chrome」查看浏览器版本
    确保chromedriver的大版本和Chrome一致(比如Chrome 62.x对应chromedriver 2.35,这也是你之前想装的版本,brew会帮你匹配正确的)

3. 确认可执行权限与PATH配置

  • 先确认chromedriver的路径在系统PATH中:
    which chromedriver
    
    输出的路径应该是brew默认安装的位置(比如/usr/local/bin/chromedriver),这个路径通常已经在PATH里了。
  • 确保文件有可执行权限(brew安装的一般自带,但保险起见可以执行):
    chmod +x $(which chromedriver)
    

4. 测试基础功能

写个简单的测试脚本验证chromedriver是否正常工作:

from selenium import webdriver

driver = webdriver.Chrome()
driver.get("https://www.google.com")
driver.quit()

如果这个脚本能正常打开Chrome并访问谷歌,说明驱动问题已经解决,你就可以继续运行图片爬取的滚动代码了。

另外提个小建议:你的Selenium 3.8.1版本比较老旧,如果后续遇到其他兼容性问题,可以考虑升级到对应chromedriver版本的Selenium版本,不过先解决当前的执行格式错误是首要的。

内容的提问来源于stack exchange,提问作者El Rakone

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 03:33:48