Mac系统Selenium调用Chrome遇WebDriverException(状态码-9)
解决Selenium ChromeDriver意外退出(状态码-9)的方案
针对你遇到的Service chromedriver unexpectedly exited. Status code was: -9错误,以下是几个有效的排查和解决步骤:
1. 严格匹配Chrome与ChromeDriver版本
- 打开Chrome,在地址栏输入
chrome://version/查看当前浏览器版本 - 下载完全对应版本的ChromeDriver,替换你当前使用的文件
- 重新给ChromeDriver授予执行权限:
chmod +x /你的chromedriver路径/chromedriver
2. 适配苹果M系列芯片(如果你的设备是M1/M2/M3)
- 确保下载的是arm64架构的ChromeDriver,不要用x86_64版本
- 或者在启动Chrome时添加兼容参数:
from selenium import webdriver from selenium.webdriver.chrome.options import Options from selenium.webdriver.chrome.service import Service s = Service('/完整的chromedriver路径') chromeOptions = Options() # 添加M芯片兼容参数 chromeOptions.add_argument("--disable-gpu") chromeOptions.add_argument("--force-device-scale-factor=1") driver = webdriver.Chrome(service=s, options=chromeOptions) - 也可以右键终端,选择「使用Rosetta打开」后再运行你的脚本
3. 使用ChromeDriver的绝对路径
避免只写chromedriver,改为指定完整路径:
# 先通过终端命令 which chromedriver 查看路径 s = Service('/usr/local/bin/chromedriver')
4. 解除Mac系统的文件隔离
如果ChromeDriver是从浏览器下载的,Mac可能会隔离它,执行以下命令解除:
xattr -d com.apple.quarantine /你的chromedriver路径/chromedriver
内容的提问来源于stack exchange,提问作者Marc
相关产品推荐
相关产品推荐

