MacOS 14.5下Chromium爬虫/直接启动崩溃问题求助
解决Intel MacBook(macOS 14.5)上Chromium崩溃问题的思路
核心定位
从你提到的「Playwright设env={}可正常启动,默认环境下崩溃」的现象来看,问题根源大概率是系统环境变量与Chromium存在冲突,而非Chromium本身或爬虫工具的问题。
具体解决步骤
1. 验证环境变量干扰假设
- 打开终端,执行以下命令直接启动Chromium(清空当前终端环境变量):
如果Chromium能正常启动,即可确认是环境变量导致的崩溃。env -i /Applications/Chromium.app/Contents/MacOS/Chromium
2. 定位冲突的环境变量
- 先查看当前系统所有环境变量:
重点关注以下几类变量:printenv- 与Chromium/Chrome相关的:
CHROME_FLAGS、CHROMIUM_FLAGS、GOOGLE_CHROME_BIN - 代理类:
HTTP_PROXY、HTTPS_PROXY、NO_PROXY - 动态链接库相关:
DYLD_LIBRARY_PATH、DYLD_INSERT_LIBRARIES
- 与Chromium/Chrome相关的:
- 用二分法逐步排除:每次移除部分变量测试启动,比如:
直到找到导致崩溃的具体变量。env -u HTTP_PROXY -u CHROME_FLAGS /Applications/Chromium.app/Contents/MacOS/Chromium
3. 修复Selenium启动问题
- 方案一:完全清空环境变量启动(和Playwright的有效方式一致)
from selenium import webdriver from selenium.webdriver.chrome.options import Options options = Options() options.binary_location = "/Applications/Chromium.app/Contents/MacOS/Chromium" # 传入空环境变量 driver = webdriver.Chrome(options=options, env={}) - 方案二:仅移除冲突变量(更灵活)
import os from selenium import webdriver from selenium.webdriver.chrome.options import Options options = Options() options.binary_location = "/Applications/Chromium.app/Contents/MacOS/Chromium" # 复制当前环境变量,删除冲突的那个(比如XXX) env = os.environ.copy() del env["XXX"] driver = webdriver.Chrome(options=options, env=env)
4. 系统层面持久化修复
- 找到冲突变量的来源:检查你的shell配置文件(比如
~/.zshrc、~/.bashrc、~/.profile),或者系统级配置(/etc/profile),找到对应变量的定义行,注释或删除它。 - 执行
source ~/.zshrc(对应你的shell类型)使修改生效,之后重启终端测试。
5. 额外排查方向
- 检查隐私权限:打开「系统设置-隐私与安全性-完全磁盘访问权限」,确保Chromium已被添加并勾选。
- 重新校验安装包:下载官方Chromium安装包,用
shasum命令对比官方提供的校验值,确认安装包未损坏。 - 测试版本兼容性:暂时降级到Chromium 124版本,验证是否是125版本与macOS 14.5的兼容性问题。
内容的提问来源于stack exchange,提问作者Clms
相关产品推荐
相关产品推荐

