使用远程“chromedriver.exe”文件设置Chrome WebDriver

时间:2012-05-11 09:27:25

标签: java google-chrome selenium webdriver selenium-chromedriver

我的系统中安装了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:

  

webdriver.chrome.driver定义的chromedriver可执行文件没有   存在于C:\ Users .. \ Appdata \ Local \ Google中   铬\应用... \ HTTPS://remotemachine/chromedriver.exe

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

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

与上述无关,但是:

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

4 个答案:

答案 0 :(得分:6)

它希望chrome位于windows中的这个位置

%HOMEPATH%\程序数据\本地\谷歌\铬\应用\的chrome.exe

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

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

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

答案 1 :(得分:3)

您无法设置远程计算机的系统路径,如 -

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

此代码仅在其所在的Hub /本地计算机中执行。

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

java -jar seleniumserver.jar -role wd -hub http://hubhost:port/grid/register -Dwebdriver.chrome.driver=pathtochromedriver

答案 2 :(得分:0)

System.setProperty(“webdriver.chrome.driver”,“C:\ Documents and Settings \ sssuppaluri \ Desktop \ Spicejet_Automation \ chromedriver.exe”);         driver = new ChromeDriver();         driver.get( “https://149.122.160.94:8443/skylights/cgi-bin/skylights.cgi”);

答案 3 :(得分:0)

在项目中创建一个名为" chromedriver"的新文件夹。并放置" chromedriver.exe"将文件添加到您的代码中

System.setProperty("webdriver.chrome.driver",System.getProperty("user.dir")+"\\chromedriver\\chromedriver.exe");