当前位置: 首页 > 面试题库 >

Selenium在Mac上给出“selenium.common.exceptions.WebDriverException:消息:未知错误:无法找到Chrome二进制文件”

劳研
2023-03-14
问题内容

尝试selenium使用Python 3进行网络抓取:

from selenium import webdriver
chrome_path = r"/Library/Frameworks/Python.framework/Versions/3.6/bin/chromedriver"
driver = webdriver.Chrome(chrome_path)

我收到以下错误消息:

selenium.common.exceptions.WebDriverException:消息:未知错误:找不到Chrome二进制文件

这里解决了类似的问题,但令我感到困惑的是我的系统上已经安装了Chrome。另一个询问者显然没有在他们的计算机上安装它。我正在运行最新版本的Mac OS。


问题答案:

问题是chromedriver还需要知道chrome在哪里。在您的情况下,它位于非默认路径。因此,您需要指定Google Chrome二进制文件的完整路径。

options = webdriver.ChromeOptions()
options.binary_location = "/Applications/Google Chrome.app/Contents/MacOS/Google Chrome"
chrome_driver_binary = "/usr/local/bin/chromedriver"
driver = webdriver.Chrome(chrome_driver_binary, chrome_options=options)

上面的代码是你应该使用的



 类似资料:
  • 问题内容: 尝试使用Python 3进行网络抓取: 我收到以下错误消息: selenium.common.exceptions.WebDriverException:消息:未知错误:找不到Chrome二进制文件 此处解决了类似的问题,但令我感到困惑的是我的系统上已经安装了Chrome。另一个提问者显然没有在计算机上安装它。我正在运行最新版本的Mac OS。 问题答案: 问题是chromedrive

  • 我现在有问题几天了。所以我卸载了Chrome54并安装到53。不起作用。 例子: System.setProperty(“webdriver.chrome.driver”,“C:\Users\blablabla\Downloads\chromedriver\u win32\chromedriver.exe”); 输出: ..线程“main”org.openqa.selenium中出现异常。WebD

  • 我试图在最新的ubuntu上使用chrome驱动程序运行硒[java]测试。[16.04] 我得到了以下错误/异常。作为一个实验,我用我的本机“helloworld应用程序”替换了ChromeDriver二进制文件;我发现硒正在执行我的二进制文件。 我相信打印“端口15306上启动ChromeDriver 2.27.440175(9BC1D90B8BFA4DD181FBBF769A5EB5E575

  • 我有一个用编写的基于的测试套件。当我从执行它时,它工作得很好。当我在中构建它时,会收到以下错误消息。 组织。openqa。硒。WebDriverException:未知错误:找不到Chrome二进制文件(驱动程序信息:chromedriver=2.31.488763(092de99f48a300323ecf8c2a4e2e7cab51de5ba8),平台=Windows NT 6.3。9600 x

  • 我尝试使用Win10上的Chrome浏览器连接R中的Selenium。 我安装了Chrome 74.0.3729.61并添加了Chrome。环境变量的exe路径。 给我以下错误消息: 我找到了一些关于Python的指导(对于Google Chrome的旧版本,在Python中找不到带有Selenium的Chrome二进制文件)和c#(Selenium WebDriver-找不到Chrome二进制文

  • 问题内容: 这是我的代码脚本: 并在运行此脚本时出现此错误: 我已经编辑了chromedriver的可执行路径,但是当我运行脚本时,我的chrome驱动程序会打开,但之后停留2-3分钟,然后由于上述错误而崩溃。 问题答案: 拇指法则 Chrome在启动过程中崩溃的常见原因是 在Linux上以 用户( )的身份运行Chrome 。虽然可以在创建WebDriver会话时通过传递标志来解决此问题,但这种