Max*_*mov 23 node.js selenium-chromedriver selenium-webdriver
我正在尝试node.js selenium web驱动程序示例 ...
var webdriver = require('selenium-webdriver');
var driver = new webdriver.Builder().
usingServer('http://localhost:4444/wd/hub').
withCapabilities(webdriver.Capabilities.chrome()).
build();
driver.get('http://www.google.com');
driver.findElement(webdriver.By.name('q')).sendKeys('webdriver');
driver.findElement(webdriver.By.name('btnG')).click();
driver.wait(function() {
return driver.getTitle().then(function(title) {
return title === 'webdriver - Google Search';
});
}, 1000);
driver.quit();
Run Code Online (Sandbox Code Playgroud)
......但是得到了错误
promise.js:1542
throw error;
^
UnknownError: The path to the driver executable must be set by the webdriver.chrome.driver system property; for more information, see http://code.google.com/p/selenium/wiki/ChromeDriver. The latest version can be downloaded from http://code.google.com/p/chromedriver/downloads/list
at new bot.Error (/Users/maks/Dropbox/nodeApps/orgi/node_modules/selenium-webdriver/lib/atoms/error.js:109:18)
Run Code Online (Sandbox Code Playgroud)
我猜想设置PATH变量:
$ cat .bashrc
export PATH=$PATH:/usr/local/git/bin/
export PATH=$PATH:~/bin
export PATH=$PATH:~/Dropbox/chromedriver
Run Code Online (Sandbox Code Playgroud)
并重启控制台,但得到了同样的错误.
o.v*_*.v. 44
从这里使用selenium-server-standalone- * .jar ,你可以在启动时传递属性,如下所示:webdriver.chrome.driver
java -jar selenium-server-standalone-2.35.0.jar -Dwebdriver.chrome.driver="D:\dev\chromedriver.exe"
Run Code Online (Sandbox Code Playgroud)
这消除了错误; Java命令行选项-Dproperty=value按预期设置系统属性值.
以防有人得到此错误:
线程"main"中的异常com.beust.jcommander.ParameterException:未知选项:-Dwebdrive
这个帖子可能有帮助:
在jar文件之前使用参数
java [-options] -jar jarfile [args...] (to execute a jar file)
Run Code Online (Sandbox Code Playgroud)
所以你的命令应该是:
java -jar -Dwebdriver.chrome.driver="D:\dev\chromedriver.exe" selenium-server-standalone-2.35.0.jar
Run Code Online (Sandbox Code Playgroud)
希望它将来有助于某人.
| 归档时间: |
|
| 查看次数: |
30063 次 |
| 最近记录: |