C# Selenium WebDriver-找不到Chrome二进制文件

C# Selenium WebDriver-找不到Chrome二进制文件,c#,google-chrome,selenium,webdriver,C#,Google Chrome,Selenium,Webdriver,我正在尝试用Chrome运行Selenium测试。我用的是C 似乎找到了chromedriver.exe,但它可以找到Chrome二进制文件。自动搜索失败后,我显式设置了chrome.exe的路径。我甚至在最后用“chrome.exe”试过。我总是得到同样的结果: 在以下位置找不到Chrome二进制文件: C:\Users\Vilem\AppData\Local\Google\Chrome\Application 仅供参考:我有一个关于3个selenium Web驱动程序的问题。我想把这个问题

我正在尝试用Chrome运行Selenium测试。我用的是C

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

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

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



仅供参考:我有一个关于3个selenium Web驱动程序的问题。我想把这个问题分成几个部分,这样讨论就容易多了。原文:

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

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

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

有关详细信息,请查看此wiki页面。

下载“chromedriver\u win\u 22\u 0\u 1203\u 0b.zip”将其解压缩并按如下方式设置路径:(我已设置路径)


上述方法应该可以很好地工作

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

我描述了一个Python的解决方案,因为它是不同的,没有CamelCase属性BinaryLocation标识符,而且文档较少。是的,一个通用的解决方案是创建一个新的ChromeOptions实例,但也可以通过ChromeOptions直接动态修复bug,首先从某个地方开始编写代码:

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

那么路径末尾的
chrome.exe
不是问题吗


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

在为Chrome二进制文件指定的路径中,请同时指定
Chrome.exe
。它会成功的

  • 我重新安装了chrome,并确保它存在于给定的文件夹中
  • 确保selenium项目位于回购协议中,而不是桌面上
  • 使用Manage Nuget软件包更新了所有驱动程序

  • 你应该在你的机器上安装chrome

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

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


    这对我来说很好

    请看这篇文章“当我尝试在Chrome中运行测试时出错”,谢谢。驱动程序不是问题所在-它被正确地找到了。之后,驱动程序会查找Chrome二进制文件,但即使路径设置正确也会失败。欢迎使用Stack Overflow!请勿在帖子中使用签名/标语。您的用户框算作您的签名,您可以使用您的个人资料发布您喜欢的任何关于您自己的信息。问题是某些本地化的Windows XP发行版上不存在这样的默认目录
    …\Application Data\…
    ,因为“应用程序数据”可以从英语翻译成某种语言。在WindowsVista和Windows7上,这很简单,但情况可能并非如此。快速浏览此网站后:看起来只有在MacOS上,您才需要提供实际二进制文件的地址,而不是位置。BinaryLocation是指chrome.exe,而不是chromedriver.exe
    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()