【问题标题】:Selenium WebDriver - Could not find Chrome binarySelenium WebDriver - 找不到 Chrome 二进制文件
【发布时间】:2012-07-15 12:13:32
【问题描述】:

我正在尝试让 Selenium 测试与 Chrome 一起运行。我正在使用 C#。

var options = new OpenQA.Selenium.Chrome.ChromeOptions();
options.BinaryLocation = @"C:\Users\Vilem\AppData\Local\Google\Chrome\Application\";

using (IWebDriver driver = new OpenQA.Selenium.Chrome.ChromeDriver(options))
{
...

似乎找到了 chromedriver.exe,但它可以找到 Chrome 二进制文件。自动搜索失败后,我明确设置了 chrome.exe 的路径。我什至在最后尝试了“chrome.exe”。我总是得到相同的结果:

无法在以下位置找到 Chrome 二进制文件:

C:\Users\Vilem\AppData\Local\Google\Chrome\Application


仅供参考:我有一个关于 3 selenium webdrivers 的问题。我试图将问题分成多个,以便讨论更容易。原文:Selenium WebDriver - No driver is working for me

【问题讨论】:

  • 查看这篇文章“我尝试在 Chrome 中运行测试时出错”link
  • 谢谢。驱动程序不是问题 - 它被正确找到。之后,驱动程序会查找 Chrome 二进制文件,但即使路径设置正确也会失败。

标签: c# google-chrome selenium webdriver


【解决方案1】:

这是一些本地化的 Windows XP 发行版中的典型问题。

我为 Python 描述了一个解决方案,因为它是不同的,没有 CamelCase 属性 BinaryLocation 标识符,而且文档较少。是的,一个通用的解决方案是创建一个新的 ChromeOptions 实例,但可以简单地通过 ChromeOptions 直接通过某些首先在某处启动的代码来动态修复错误:

from selenium import webdriver
webdriver.ChromeOptions.binary_location = ur"c:\Documents and Settings\user name\Local Settings\Data aplikací\Google\Chrome\Application\chrome.exe"

并保持所有其他代码不变:

from selenium import webdriver
browser = webdriver.Chrome()

在 Python 中使用 ur"..." unicode 原始字符串文字很重要(如果路径包含国际字符,则不是字节字符串)而不是普通的 u"..." 如果完整路径是硬编码并且用户名以某些特殊字符开头在\ 之后就像\n \r \t

【讨论】:

    【解决方案2】:

    我在 php 网络驱动程序中遇到了同样的问题。

    请将chrome安装到默认目录,chrome安装会自动将应用安装到默认文件夹:

    %HOMEPATH%\Local Settings\Application Data\Google\Chrome\Application\chrome.exe

    请查看此 wiki 页面以获取更多信息。 http://code.google.com/p/selenium/wiki/ChromeDriver

    【讨论】:

    • 欢迎来到 Stack Overflow!请不要在您的帖子中使用签名/标语。您的用户框算作您的签名,您可以使用您的个人资料发布您喜欢的任何关于您自己的信息。 FAQ on signatures/taglines
    • 问题是这样的默认目录...\Application Data\... 在某些本地化的Windows XP 发行版中不存在,因为“应用程序数据”可以从英语翻译成某种语言。在 Windows Vista 和 7 上,这很容易。
    【解决方案3】:

    问题不是你在路径末尾缺少chrome.exe 吗?

    换句话说,路径应该包含可执行文件,而不仅仅是可执行文件所在的文件夹。

    【讨论】:

    【解决方案4】:

    在您为 Chrome 二进制文件提供的路径中,请同时指定 chrome.exe。它会起作用的!

    【讨论】:

      【解决方案5】:

      1. 我重新安装了 chrome 并确保它存在于给定的文件夹中。
      2. 确保 selenium 项目在存储库中,而不是在桌面上
      3. 使用管理 Nuget 包更新了所有驱动程序

      【讨论】:

        【解决方案6】:

        你应该已经在你的机器上安装了 chrome

        并且您的 chromedriver.exe 版本应该与 chrome 相对应 下载表格

        https://chromedriver.chromium.org/downloads

        并为您的脚本提供了新的 chromedriver.exe 路径..

        这对我很有效

        【讨论】:

          【解决方案7】:

          下载“chromedriver_win_22_0_1203_0b.zip”解压并设置路径如下:(我设置了路径)

          options.BinaryLocation = @"F:\\Software Download_Ripon\\WebDriver\\chromedriver_win_22_0_1203_0b\\chromedriver.exe";
          

          以上应该可以正常工作

          【讨论】:

          猜你喜欢
          • 2016-09-19
          • 1970-01-01
          • 1970-01-01
          • 2017-04-09
          • 1970-01-01
          • 2021-11-17
          • 2021-05-22
          • 2021-06-13
          • 1970-01-01
          相关资源
          最近更新 更多