Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Error: The path to the driver executable must be set by the webdriver.chrome.driver system property

Tags:

I am trying node.js selenium web driver example...

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(); 

... but got error

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) 

I guessed to set PATH variable:

$ cat .bashrc  export PATH=$PATH:/usr/local/git/bin/ export PATH=$PATH:~/bin export PATH=$PATH:~/Dropbox/chromedriver 

And restart console, but got the same error.

like image 932
Maxim Yefremov Avatar asked Aug 16 '13 11:08

Maxim Yefremov


People also ask

How do I change the path to the driver executable?

getting java lang IllegalStateException The path to the driver executable must be set by the webdriver chrome driver system property. WebDriver driver = new ChromeDriver(); System. setProperty("webdriver.


2 Answers

Using selenium-server-standalone-*.jar from here, you can pass webdriver.chrome.driver property when launching it like so:

java -jar selenium-server-standalone-2.35.0.jar -Dwebdriver.chrome.driver="D:\dev\chromedriver.exe" 

This eliminates the error; Java command line option -Dproperty=value sets a system property value as expected.

like image 95
Oleg Avatar answered Oct 04 '22 18:10

Oleg


Just in case some one getting this error :

Exception in thread "main" com.beust.jcommander.ParameterException: Unknown option: -Dwebdrive

this thread might help :

Use Parameters before jar file

 java [-options] -jar jarfile [args...] (to execute a jar file) 

So your command should be:

java -jar -Dwebdriver.chrome.driver="D:\dev\chromedriver.exe" selenium-server-standalone-2.35.0.jar  

Hope it helps someone in future.

like image 27
ProllyGeek Avatar answered Oct 04 '22 20:10

ProllyGeek