MacOS Catalina(v 10.15.3):错误:“chromedriver”不能打开,因为开发人员无法验证。无法启动chrome浏览器

我最近把我的mac电脑升级到OS Catalina(v 10.15.3)。在这次升级之后,我无法使用硒启动chrome驱动程序。

当我运行selenium代码启动chrome浏览器时,我面临以下错误。

" " chromedriver "无法打开,因为开发人员无法验证"。 “macOS无法验证此应用程序没有恶意软件。”< / p >

请帮帮我!

196355 次浏览

在macOS Catalina和macOS Mojave中,当一个应用程序因为没有经过公证或来自身份不明的开发者而无法安装时,它将出现在系统首选项>安全&隐私,在“常规”选项卡下。点击“无论如何打开”来确认你要打开或安装应用程序的意图。

enter image description here

再次弹出警告提示,单击“Open.*”

enter image description here

该应用程序现在被保存为安全设置的一个例外,将来你可以像打开任何授权应用程序一样双击打开它。

*如果提示打开Finder:在Finder中控制单击应用程序,从菜单中选择打开,然后在出现的对话框中单击打开。输入您的管理员名和密码打开应用程序。

我找到的工作如下

  1. 打开终端
  2. 导航到chromedriver文件所在的路径
  3. 执行以下任意一个命令

Command1: xattr -d com.apple.quarantine <name-of-executable>

例子

/usr/local/Caskroom/chromedriver
$ xattr -d com.apple.quarantine chromedriver

(或)

Command2: spctl --add --label 'Approved' <name-of-executable>

来源:https://docwhat.org/upgrading-to-catalina

注意:这只适用于执行上述命令的文件。如果下载了新的chromedriver,则必须在新下载的文件上再次执行该命令

快速解决方案

  1. 开放的仪
  2. 导航到chromedriver文件所在的位置
  3. 右键单击chromedriver文件并选择打开

在此之后,脚本应该可以正常工作。

打开终端,进入下载chromedriver的路径。 执行xattr -d com.apple.quarantine chromedriver < / p >

上面的回答很有帮助。我只想补充一句,如果你在开发环境中运行Selenium,在我的情况下是Jupyter Notebook,这就是问题所在,你可能会看到PermissionError: [Errno 13] Permission denied错误。此错误还有其他原因,但可能是macOS Catalina出于安全原因阻止chromedriver运行。按照上面的方法,我从命令行运行它,然后能够从Jupyter使用driver = webdriver.Chrome('path/to/chromedriver)打开它。

现有的答案很好,而且很有效。

但是一个更简单的解决方案是打开终端并运行这个:

xattr -d com.apple.quarantine $(which chromedriver)

xattr -d com.apple.quarantine $(which chromedriver)单独是不够的。

与最新版本的chromedriver,似乎他们是划分到版本文件夹。
9月30日20日给我。对我有用的是xattr -d com.apple.quarantine 85.0.4183.87/chromedriver

解决这个问题有两个步骤:

  1. 使用命令- cd /usr/local/bin导航到路径。这是你将看到你的chromedriver安装的地方。
  2. 当进入bin目录时,运行这个命令- xattr -d com.apple.quarantine chromedriver

就这些。这对我来说很管用。

(对我有用的,希望对你也有用)

为所有macOS大苏尔11.0用户更新:

  1. 使用自制软件安装chromedriver

    brew install chromedriver

  2. 导航到chromedriver 在Caskroom文件夹里

    /usr/local/bin/Caskroom/chromedriver ... keep going until you see the Unix Executable File called "chromedriver"

  3. 跟随苹果公司的建议打开来自未知开发者的Mac应用程序,双击chromedriver,然后单击“打开”;

对我来说,这导致一个终端窗口弹出输出:


Starting ChromeDriver ...
Only local connections are allowed.
Please see https://chromedriver.chromium.org/security-considerations for suggestions on keeping ChromeDriver safe.
ChromeDriver was started successfully.

我现在可以运行scrapy-selenium没有问题,你可以关闭终端窗口(是的,终止进程是OK的),它应该仍然工作而不停止你现在。

如果这对你有用,请告诉我

我在macOS Catalina版本10.15.6 (19G73)上工作的是

  1. 通过Homebrew安装chromedriver:

    brew install chromedriver

  2. 然后,在Finder中单击Go菜单并单击Go to folder option,并输入此路由:

    /usr/local/Caskroom/chromedriver/

  3. 在那里你应该看到一个文件夹,里面有你已经安装的chromedriver版本,就像这样:

    88.0.4324.96

  4. 进入文件夹,你应该看到chromedriver二进制文件。

  5. 右键单击它,然后单击Open

现在,你应该得到一个终端窗口弹出输出:

Last login: Sun Jan 31 12:29:15 on ttys001
/usr/local/Caskroom/chromedriver/88.0.4324.96/chromedriver ; exit;
  ~  /usr/local/Caskroom/chromedriver/88.0.4324.96/chromedriver ; exit;
Starting ChromeDriver 88.0.4324.96 (68dba2d8a0b149a1d3afac56fa74648032bcf46b-refs/branch-heads/4324@{#1784}) on port 9515
Only local connections are allowed.
Please see https://chromedriver.chromium.org/security-considerations for suggestions on keeping ChromeDriver safe.
ChromeDriver was started successfully.

最后,按Ctrl+C停止执行并退出终端窗口。

现在你应该可以做水豚测试了。

< p > 1。导航到chromedriver文件所在的路径 2.右键单击chromedriver 3.使用终端打开 4.run ur code

这是一个许可问题… 升级chrome后,这个错误显示,所以我按照下面提到的步骤,它在我的系统中工作
  1. 系统设置
  2. 安全,隐私
  3. 进入“常规”选项卡
  4. 允许从以下地方下载应用程序:
  5. 选择App Store和已识别的开发商
  6. 单击锁进行更改。
  7. 输入系统密码
  8. 点击“无论如何打开”来确认你要打开或安装应用程序的意图。

我发现,如果你尝试过这个解决方案:

// Get the path to chromedriver, example: /usr/local/bin/chromedriver
which chromedriver


// Change permissions
xattr -d com.apple.quarantine <path_to_chromedriver>

你的浏览器打开后又立即关闭,这可能是因为安装了错误的chromedriver版本。

寻找你的chrome版本启动chrome然后选择

Chrome > About Google Chrome

删除您当前的chromedriver,并搜索与您的“About谷歌chrome0”中显示的chrome版本匹配的chromedriver;(例如:96.0.4664.110)。我用的是一台安装了Monterey操作系统的mac电脑

解决此错误的最简单方法,请遵循以下步骤。

  1. 导航到你的chrome驱动程序保存/下载的地方
  2. 右击并选择Open with
  3. 选择使用终端打开
  4. 允许或选择yes
  5. 您应该在终端屏幕上看到一条成功消息
  6. 返回打开你的chrome驱动程序或IDE并运行,你应该不会再得到错误了

关于在M1 mac上安装webdriver-manager困难的更新:

我正在运行ARM64 conda miniforge3环境,并想知道webdriver_manager安装问题是否可能缺少支持/兼容性,正如关于Mozilla geckodriver 在这里所讨论的那样。虽然看起来驱动程序已经添加支持M1,但似乎还有一些未解决的问题(参见在这里)。

不管怎样,手动安装ChromeDriver很容易:

  1. 安装Chrome浏览器>下载对应的驱动版本 (例如,106)从 李ChromeDriver < / >
  2. 将其添加到$PATH中,即要么将shell文件粘贴到$PATH所在的位置,例如,__abc2,要么通过命令行:
echo $PATH
export PATH=$PATH:/path/to/chrome-driver

PS:在开始驾驶之前,您必须以管理员身份运行一次驱动程序文件。如果你的Mac不相信驱动文件,Ctrl+Click和Open来这样做。

更新到Mac OS Ventura 13.0后,您现在需要进入系统设置>隐私,安全。向下滚动到安全部分,你可以在那里看到chromedriver。单击Allow Anyway(它将提示输入管理凭据)。

enter image description here