wake-up-neo.com

Java.lang.IllegalStateException wird auch nach dem Hinzufügen der set-Eigenschaft "webdriver" abgerufen

Ich bekomme Ausnahme:

in thread "main" Java.lang.IllegalStateException:The path to the 
 driver executable must be set by the webdriver.chrome.driver 
 system property;
 for more information, 
  see https://github.com/SeleniumHQ/Selenium/wiki/ChromeDriver. 
  The latest version can be downloaded from 
  http://chromedriver.storage.googleapis.com/index.html
    at com.google.common.base.Preconditions.checkState(Preconditions.Java:199)
    at org.openqa.Selenium.remote.service.DriverService.findExecutable(DriverService.Java:109)
    at org.openqa.Selenium.chrome.ChromeDriverService.access$0(ChromeDriverService.Java:1)
    at org.openqa.Selenium.chrome.ChromeDriverService$Builder.findDefaultExecutable(ChromeDriverService.Java:137)
    at org.openqa.Selenium.remote.service.DriverService$Builder.build(DriverService.Java:296)
    at org.openqa.Selenium.chrome.ChromeDriverService.createDefaultService(ChromeDriverService.Java:88)
    at org.openqa.Selenium.chrome.ChromeDriver.<init>(ChromeDriver.Java:116)
    at SeleniumFirefox.main(SeleniumFirefox.Java:11)

Unten ist der verwendete Code SeleniumFirefox.Java :

 import org.openqa.Selenium.WebDriver;
 import org.openqa.Selenium.chrome.ChromeDriver;
 org.openqa.Selenium.WebDriver;
 import org.openqa.Selenium.WebElement;

 public class SeleniumFirefox {

   public static void main(String[] args) {
    // TODO Auto-generated method stub
    System.setProperty("webdriver.chromedriver.driver",
           "C://Users//balwinder//Desktop//chromedriver.exe");
    WebDriver driver = new ChromeDriver();

/*try {
    Thread.sleep(5000);
} catch(InterruptedException ex) {
    System.out.println(ex.getMessage());
}*/

   }}
4

setze webdriver.chrome.driver statt webdriver.chromedriver.driver

 System.setProperty("webdriver.chromedriver.driver",
           "C://Users//balwinder//Desktop//chromedriver.exe");

Sollte sein:

System.setProperty("webdriver.chrome.driver",
           "C:\\Users\\balwinder\\Desktop\\chromedriver.exe");

OR

System.setProperty("webdriver.chrome.driver",
           "C:/Users/balwinder/Desktop/chromedriver.exe");

NOTE: Es funktioniert nur, wenn Sie zuerst die Systemeigenschaft setzen und dann den Chrome-Treiber instanziieren.

4
user861594

Eine andere Lösung ohne System.setProperty besteht einfach darin, einen Ordner mit chromedriver.exe zu PATH Hinzuzufügen (wenn jemand nicht weiß, wie - google "set path variable").

Um zu überprüfen, ob dieser Ansatz funktioniert, können Sie chromedriver.exe im C:\Windows\System32-Ordner ablegen.

0
Alexander P.