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

时间:2012-07-16 15:49:07

标签: c# google-chrome selenium webdriver

我正在尝试使用Chrome运行Selenium测试。我正在使用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:\用户\ Vilem \应用程序数据\本地\谷歌\铬\应用


仅供参考:我有一个关于3个硒驱动程序的问题。我正在尝试将问题分成多个,以便讨论更容易。原文:Selenium WebDriver - No driver is working for me

7 个答案:

答案 0 :(得分:2)

这是某些本地化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之后的某些字符特殊。

答案 1 :(得分:0)

我遇到了与php web驱动程序相同的问题。

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

  

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

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

答案 2 :(得分:0)

问题是你错过了路径末尾的chrome.exe吗?

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

答案 3 :(得分:0)

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

答案 4 :(得分:0)

enter image description here

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

答案 5 :(得分:0)

您应该已经在计算机中安装了chrome

,并且您的chromedriver.exe版本应对应于chrome 下载表格

https://chromedriver.chromium.org/downloads

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

这对我来说很好

答案 6 :(得分:-1)

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

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

以上应该可以正常使用