我的系统中安装了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 Chrome \ Application ... \ https://remotemachine/chromedriver.exe中不存在
为什么Selenium通过将系统属性附加到C盘中的某个位置来搜索chromedriver.exe?
如何使用远程chromedriver.exe文件从Selenium启动Chrome?
与上述无关,但是:
是否也可以使用Java / Selenium找到默认的浏览器二进制路径?
4 回答
它希望chrome能够在windows中的这个位置
%HOMEPATH%\ AppData的\本地\谷歌\镀铬\应用\的chrome.exe
对于远程,它必须是路径或-Dwebdriver.chrome.driver值应指向本地chromedriver.exe位置 .
本地,因为它在正在运行的地方 .
以下是设置链接:http://code.google.com/p/selenium/wiki/RemoteWebDriver http://code.google.com/p/selenium/wiki/ChromeDriver
您无法设置远程计算机的系统路径,如 -
System.setProperty("webdriver.chrome.driver", "remotemachine/chromedriver.exe");
.此代码仅在其所在的Hub /本地计算机中执行 .
要远程运行它,您需要在启动WD节点时提及-Dwebdriver.chrome.driver = pathtochromedriver.exe .
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”);
在项目中创建一个名为“chromedriver”的新文件夹,并在其中放置“chromedriver.exe”文件,然后在代码中添加以下行