0

我的系统中安装了 chrome。我正在使用 Selenium 在 chrome 上运行一些测试。

我已将 Chromedriver.exe 下载到 MyDocuments。我已经使用 System.setProperty() 设置了“webdriver.chrome.driver”并启动了 ChromeDriver()。它工作正常。

System.setProperty("webdriver.chrome.driver", "C:\\MyDocuments\\chromedriver.exe");
driver=new ChromeDriver();

现在,我正在尝试将 Chromedriver.exe 放在远程机器“https://remotemachine/chromedriver.exe”中。当我设置 System 属性并启动 ChromeDriver() 时,我遇到了一个异常,Selenium 在一个奇怪的路径中搜索 chrome:

C:\Users..\Appdata\Local\Google Chrome\Application...\https://remotemachine/chromedriver.exe 中不存在 webdriver.chrome.driver 定义的 chromedriver 可执行文件

为什么 Selenium 通过将系统属性附加到 C 驱动器中的某个位置来搜索 chromedriver.exe?

如何使用远程 chromedriver.exe 文件从 Selenium 启动 Chrome?

与上述无关,但:

是否也可以使用 Java/Selenium 找到默认的浏览器二进制路径?

4

4 回答 4

5

它希望 chrome 在 Windows 中位于此位置

%HOMEPATH%\AppData\Local\Google\Chrome\Application\chrome.exe

对于远程,它必须在路径中,或者 -Dwebdriver.chrome.driver 值应该指向本地 chromedriver.exe 位置。

本地的,就像它正在运行的地方一样。

这是设置链接: http : //code.google.com/p/selenium/wiki/RemoteWebDriver http://code.google.com/p/selenium/wiki/ChromeDriver

于 2012-05-11T10:23:45.057 回答
3

您不能设置远程机器的系统路径,例如 -

System.setProperty("webdriver.chrome.driver", "remotemachine/chromedriver.exe");.

此代码将仅在其所在的集线器/本地机器中执行。

要远程运行它,您需要在启动 WD 节点时提及 -Dwebdriver.chrome.driver=pathtochromedriver.exe。

java -jar seleniumserver.jar -role wd -hub http://hubhost:port/grid/register -Dwebdriver.chrome.driver=pathtochromedriver
于 2012-05-15T03:59:43.540 回答
0

System.setProperty("webdriver.chrome.driver", "C:\Documents and Settings\sssuppaluri\Desktop\Spicejet_Automation\chromedriver.exe"); 驱动程序 = 新的 ChromeDriver(); driver.get("https://149.122.160.94:8443/skylights/cgi-bin/skylights.cgi");

于 2012-05-24T10:22:26.477 回答
0

在您的项目中创建一个名为“chromedriver”的新文件夹并将“chromedriver.exe”文件放入其中,然后将以下行添加到您的代码中

System.setProperty("webdriver.chrome.driver",System.getProperty("user.dir")+"\\chromedriver\\chromedriver.exe");
于 2015-02-24T06:46:27.150 回答