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

公司锁定Mac下如何绕过限制执行chromedriver运行Selenium爬虫

可行解决方法

方法1:移除驱动的隔离属性

Mac会给所有从网络下载的可执行文件自动添加隔离扩展属性,这是触发开发者验证弹窗的核心原因,执行以下命令移除该属性即可:

# 替换为你的chromedriver实际存储路径
xattr -d com.apple.quarantine /path/to/your/chromedriver

如果是用工具自动下载的驱动(比如webdriver-manager),可以批量处理缓存目录下的所有驱动:

find ~/.wdm -name "chromedriver" -exec xattr -d com.apple.quarantine {} \;

方法2:改用undetected-chromedriver

这个第三方封装的驱动不需要手动下载配置,默认绕过Mac的签名验证机制,同时还能规避多数网站的反爬检测,使用方式非常简单:

  1. 安装依赖:pip install undetected-chromedriver
  2. 替换原有Selenium启动代码即可:
import undetected_chromedriver as uc
# 无需手动指定驱动路径,会自动匹配Chrome版本
driver = uc.Chrome()
driver.get("你要爬取的目标地址")

方法3:用Docker容器运行(完全绕开本机限制)

如果本机MDM策略限制了修改安全属性,可以直接用Selenium官方的预构建容器运行Chrome环境,完全不需要修改本机任何权限配置:

  1. 启动Chrome容器:docker run -d -p 4444:4444 selenium/standalone-chrome
  2. 代码中改用Remote Webdriver连接容器内的服务即可:
from selenium import webdriver
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
driver = webdriver.Remote(
    command_executor='http://localhost:4444/wd/hub',
    desired_capabilities=DesiredCapabilities.CHROME
)
driver.get("你要爬取的目标地址")

方法4:升级到Selenium 4.6+版本

Selenium 4.6及以上版本内置了Selenium Manager组件,会自动匹配、下载并配置对应版本的浏览器驱动,多数情况下可以自动处理权限验证问题,不需要你手动管理chromedriver文件。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 02:06:04