【问题标题】:MacOS Catalina(v 10.15.3): Error: “chromedriver” cannot be opened because the developer cannot be verified. Unable to launch the chrome browserMacOS Catalina(v 10.15.3):错误:无法打开“chromedriver”,因为无法验证开发者。无法启动 chrome 浏览器
【发布时间】:2020-06-07 06:18:20
【问题描述】:

我最近将我的 mac 机器升级到 OS Catalina(v 10.15.3)。升级后,我无法使用 selenium 启动 chrome 驱动程序。

当我运行 selenium 代码来启动 chrome 浏览器时,我遇到了以下错误。

“无法打开“chromedriver”,因为无法验证开发者”。 “macOS 无法验证此应用是否没有恶意软件。”

请帮帮我!

【问题讨论】:

    标签: java macos selenium


    【解决方案1】:

    在 macOS Catalina 和 macOS Mojave 中,当应用程序由于未经公证或来自身份不明的开发者而无法安装时,它会出现在“系统偏好设置”>“安全与隐私”的“常规”选项卡下。单击仍然打开以确认您打算打开或安装该应用程序。

    再次出现警告提示,可以点击打开。*

    该应用现在被保存为您的安全设置的例外,您可以在以后通过双击它来打开它,就像您可以打开任何授权的应用一样。

    *如果系统提示您打开 Finder:按住 Control 键并单击 Finder 中的应用程序,从菜单中选择“打开”,然后在出现的对话框中单击“打开”。输入您的管理员名称和密码以打开应用程序。

    【讨论】:

    • 感谢您的回答。但问题是我看不到“仍然打开”选项
    • @VenkateshG - 这对我来说似乎是权限问题,你的机器有管理员权限吗?
    • 大苏尔不一样
    • 谢谢,这解决了我在 Big Sur 上的问题。我首先在终端上的 /usr/local/Caskroom 中运行 spctl --add --label 'Approved' chromedriver,然后尝试运行启动 chromedriver 的应用程序,然后转到设置位置并授予 chromedriver 访问权限。
    • 在卡塔利娜为我工作。如上所述,“仍然打开”按钮正在等待我,然后再次运行 CLI 命令,我得到了一个弹出窗口并且能够允许它。
    【解决方案2】:

    我找到了如下解决方法

    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,则必须在新下载的文件上再次执行该命令

    【讨论】:

    • 最重要的是,这是您没有管理员权限时的解决方案!
    • xattr -d com.apple.quarantine <path-to-executable> 不需要管理员权限 spctl --add --label 'Approved' <path-to-executable> 需要管理员密码
    • 在这些困难时期,我讨厌我必须输入“隔离”这个词,即使它解决了我的问题:'(
    • 不幸的是,这些修复都不适用于 big sur..
    • 在大苏尔-xattr -d com.apple.quarantine <path to chromedriver>xattr -d com.apple.quarantine /usr/local/bin/chromedriver
    【解决方案3】:

    快速解决方案

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

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

    【讨论】:

    • 这对我有用。谢谢!这种技术让您可以在“无法打开 chromedriver”对话框中选择“仍然打开”,因此非常快速和简单。
    • 在没有更改任何设置的情况下为我完成了这项工作!
    【解决方案4】:

    打开终端并导航到下载 chromedriver 的路径。 执行xattr -d com.apple.quarantine chromedriver

    【讨论】:

      【解决方案5】:

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

      【讨论】:

        【解决方案6】:

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

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

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

        【讨论】:

        • 优雅,但在 Big Sur 对我不起作用,因为 No such xattr: com.apple.quarantine ..
        • 这可能意味着您安装了 >1 个版本的 chromedriver,在这种情况下,您可以运行它而不是 xattr -d com.apple.quarantine path/to/chromedriver
        • 如果你用 homebrew 安装了 chromedriver,运行brew info chromedriver 获取它的路径,然后运行它(用你在上一步中给出的版本替换版本):xattr -d com.apple.quarantine /usr/local/Caskroom/chromedriver/89.0.4389.23/chromedriver
        【解决方案7】:

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

        使用最新版本的 chromedriver,似乎它们正在划分为版本文件夹。
        20 年 9 月 30 日对我来说。对我有用的是xattr -d com.apple.quarantine 85.0.4183.87/chromedriver

        【讨论】:

          【解决方案8】:

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

          1. 使用命令-cd /usr/local/bin 导航到路径。这是您将看到已安装 chromedriver 的位置。
          2. 在 bin 目录中时,运行此命令-xattr -d com.apple.quarantine chromedriver

          仅此而已。它对我有用。

          【讨论】:

            【解决方案9】:

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

            为所有 ma​​cOS Big Sur 11.0 用户更新:

            1. 使用自制软件安装chromedriver

              brew install chromedriver

            2. 导航到位于 Caskroom 文件夹中的 chromedriver

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

            3. 点击Apple's recommendation打开来自不明开发者的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 没问题,你可以关闭终端窗口(是的,终止进程就可以了),它应该仍然可以正常工作而不会停止你。

            让我知道这是否适合你

            【讨论】:

            • 我试图通过 goolechrome + java/maven 启动 selenium,所以当我遇到此错误时,我使用了 chromedriver 的 brew cask install。这样做对我有用。如果您需要将 Mac 上的 FINDER 应用程序导航到特定文件夹,请使用 SHIFT + COMMAND + G
            【解决方案10】:

            ma​​cOS 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停止执行并退出终端窗口。

            现在,您应该可以运行 capybara 测试了。

            【讨论】:

              【解决方案11】:

              1.导航到 chromedriver 文件所在的路径 2.右键单击chromedriver 3.用终端打开 4.运行你的代码

              【讨论】:

                【解决方案12】:

                这是一个权限问题... 升级 chrome 后出现此错误,所以我按照下面提到的步骤操作,它在我的系统中运行。

                1. 系统偏好设置
                2. 安全和隐私
                3. 转到常规选项卡
                4. 允许从以下位置下载应用:
                5. 选择 App Store 和确定的开发者
                6. 点击锁进行更改。
                7. 输入您的系统密码
                8. 点击仍然打开以确认您打算打开或安装应用程序。

                【讨论】:

                  【解决方案13】:

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

                  // 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 并搜索与“关于 Google Chrome”中显示的 chrome 版本匹配的 chromedriver(例如:96.0.4664.110)。这在装有 Monterey OS 的 Mac 上对我有用

                  【讨论】:

                    【解决方案14】:

                    解决此错误的最简单方法,请按照以下步骤操作。

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

                    【讨论】:

                      猜你喜欢
                      • 2020-06-17
                      • 2020-07-25
                      • 1970-01-01
                      • 2020-10-03
                      • 2020-11-19
                      • 2020-11-02
                      • 2022-07-13
                      • 2020-01-24
                      • 2020-05-22
                      相关资源
                      最近更新 更多