返回

macOS Catalina 中 ChromeDriver 无法打开?这篇文章教你轻松解决

java

解决 macOS Catalina 中 ChromeDriver 无法打开的错误

在 macOS Catalina 及更高版本中,开发人员经常遇到运行 Selenium 代码时出现 “chromedriver” 无法打开的错误。此问题由新的安全措施引起,需要验证来自未识别开发者的应用程序。

问题背后的原因

macOS Catalina 引入了 Gatekeeper,这是一个安全功能,可防止从未识别的开发者那里运行应用程序。当您尝试运行 ChromeDriver 时,系统无法验证其开发者的身份,因此会阻止它打开。

解决方案

解决此问题的步骤如下:

1. 下载最新 ChromeDriver

从 ChromeDriver 官方网站下载与您的 Chrome 版本兼容的最新 ChromeDriver。

2. 授予应用程序权限

通过以下步骤授予 ChromeDriver 访问权限:

  • 打开终端。
  • 输入以下命令:
xattr -cr /Applications/chromedriver
  • 重新启动您的 Mac。

3. 修改系统偏好设置

  • 转到系统偏好设置 > 安全性和隐私 > 通用。
  • 在“允许应用程序从以下位置下载”下,选择“任何来源”。

4. 再次运行代码

重新运行 Selenium 代码以启动 Chrome 浏览器。它现在应该可以正常工作了。

额外提示

  • 确保您的 Chrome 版本与 ChromeDriver 版本兼容。
  • 如果您仍然遇到问题,请尝试重新安装 ChromeDriver。
  • 作为临时解决方案,您可以使用以下命令允许 ChromeDriver 访问权限:
sudo xattr -rd com.apple.quarantine /Applications/chromedriver

但是,您需要在每次运行 Selenium 代码时都重复此命令。

结论

通过遵循这些步骤,您应该能够在 macOS Catalina 及更高版本中解决 ChromeDriver 无法打开的错误。请记住,在以后的 Catalina 更新中,这些步骤可能需要修改。

常见问题解答

1. 为什么我无法从终端打开 ChromeDriver?

您的终端可能无法识别 ChromeDriver 的路径。确保您使用正确的路径,并尝试在绝对路径中引用 ChromeDriver。

2. 更改系统偏好设置后,我的 Mac 是否不安全?

暂时允许从任何来源下载应用程序可能会降低您的 Mac 安全性。强烈建议您仅在必要时更改此设置,并在完成后将其还原为“App Store 和已识别的开发者”。

3. 重新安装 ChromeDriver 后,我仍收到相同的错误。该怎么办?

删除所有现有的 ChromeDriver 副本,并从官方网站下载并安装最新版本。

4. 我可以在没有管理员权限的情况下解决此问题吗?

是的,您可以使用以下命令授予 ChromeDriver 访问权限:

sudo xattr -rd com.apple.quarantine /Applications/chromedriver

ただし、您需要输入管理员密码才能运行此命令。

5. 我的 Mac 仍在阻止 ChromeDriver 打开。还有其他方法可以解决此问题吗?

联系 Apple 支持,了解其他可能的解决方案。