如何通过selenium server独立命令行指定Chrome二进制位置?

时间:2016-03-03 15:52:17

标签: google-chrome selenium

我使用的是谷歌浏览器的便携版本,该版本未存储在我的Windows 7计算机的默认位置。我没有管理员权限在默认位置安装Chrome。

运行java -jar selenium-server-standalone-2.52.0.jar -help并未暗示设置 Chrome二进制文件不是Chrome驱动程序)的路径的可能性。

chrome driver capabilities表示可以设置二进制,但我不确定如何通过命令行执行此操作。

8 个答案:

答案 0 :(得分:3)

您可以在ChromeOptions中为Chrome二进制文件指定非标准位置。

ChromeOptions options = new ChromeOptions();
options.setBinary("/path/to/other/chrome/binary");

请参阅ChromeOptions文档: https://sites.google.com/a/chromium.org/chromedriver/capabilities#TOC-Using-a-Chrome-executable-in-a-non-standard-location

答案 1 :(得分:3)

经过多次尝试,我发现配置就好了(请滚动窗口中的代码以查找属性 chrome_binary

适用于Windows环境

java -jar selenium-server-standalone-2.52.0.jar 
  -role webdriver 
  -Dwebdriver.chrome.driver="\path\to\chromedriver.exe"
  -browser "browserName=chrome,version=__version__,maxinstance=__no__,platform=WINDOWS,chrome_binary=\path\to\chrome\binary\chrome.exe" 
  -hubHost __address__
  -port __port__

就像一个魅力

答案 2 :(得分:1)

在节点中使用-nodeConfig <JSON config file>并在其中设置功能

示例json文件:

{
  "capabilities":
  [
    {
      "browserName": "chrome",
      "maxInstances": 5,
      "seleniumProtocol": "WebDriver",
      "chrome_binary": "C:/Program Files/Google/Chrome/Application/chrome.exe"
    }
  ],
  "maxSession": 5,
  "register": true,
  "registerCycle": 5000,
  "nodeStatusCheckTimeout": 5000,
  "nodePolling": 5000,
  "role": "node"
}

注意:这适用于服务器版本3.x.x https://github.com/SeleniumHQ/selenium/wiki/Grid2#configuring-the-nodes-by-json

答案 3 :(得分:0)

您也可以使用:

DesiredCapabilities capability = DesiredCapabilities.chrome();
capability.setCapability("chrome.binary","/path/to/chromedriver.exe);
driver = new ChromeDriver(capability);

来自org.openqa.selenium.remote.DesiredCapabilities

答案 4 :(得分:0)

首先在http://appium.io/docs/en/writing-running-appium/web/chromedriver/上检查chrome的兼容性,然后下载并放置

然后使用以下命令启动appium服务器:

appium --chromedriver-executable C:/您的路径/chromedriver.exe

并运行脚本:)

答案 5 :(得分:0)

BinaryLocation应该指向Chrome的exe(浏览器:chrome.exe !!!),而不是chromedriver.exe

driverPath和driverExecutableFileName指向Chrome驱动程序:chromedriver.exe

答案 6 :(得分:0)

先试试这个:

df[['a', 'b']] = df[['a', 'b']].astype(str)

答案 7 :(得分:-1)

快速将chromedriver放入selenium-server-standalone-2.52.0.jar 相同文件夹

Ex:XXX文件夹将包含jar和驱动程序exe