Ausgabe
Exception 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 practise_locators.DatePicker.main(DatePicker.java:11)
Hier ist mein Code:
package practise_locators;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
public class DatePicker {
public static void main(String[] args){
WebDriver driver = new ChromeDriver();
System.setProperty("WebDriver.Chrome.driver", "E:\\chromedriver.exe");
driver.get("https://www.google.com");
}
}
Lösung
Der Fehler sagt alles:
Exception 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)
Die folgenden Sätze aus dem Fehler implizieren, dass es einen Fehler in der Zeile gibt, die webdriver.chrome.driver enthält
Der Fehler kann einer der folgenden sein:
-
Fehler in der Systemklassenmethode
setProperty()
(einschließlich Sequenz):System.setProperty()
Diese Zeile sollte die allererste Zeile in Ihrem Skript sein.
-
Fehler im angegebenen Schlüssel :
"WebDriver.Chrome.driver"
-
Fehler im Wertfeld :
"E:\\chromedriver.exe"
Sie müssen den absoluten Pfad des WebDriver durch eine der folgenden Optionen übergeben:
- Das Entkommen des Backslash (
\\
) zB"C:\\path\\to\\chromedriver.exe"
- Einfacher Schrägstrich (
/
) z"C:/path/to/chromedriver.exe"
- Das Entkommen des Backslash (
Ihr Code scheint zwei Probleme zu haben:
-
Das erste Problem besteht in der Angabe des Schlüssels , der statt wie folgt lauten
"WebDriver.Chrome.driver"
sollte"webdriver.chrome.driver"
:System.setProperty("webdriver.chrome.driver", "E:\\chromedriver.exe");
-
Das zweite Problem liegt in der Reihenfolge der Erwähnung des Schlüssels
"webDriver.chrome.driver"
in Ihrem Programm, derWebDriver driver = new ChromeDriver();
wie folgt vorgehen sollte:System.setProperty("WebDriver.Chrome.driver", "E:\\chromedriver.exe"); WebDriver driver = new ChromeDriver(); driver.get("https://www.google.com");
Beantwortet von – unentdecktes Selen
Antwort geprüft von – Mildred Charles (FixError Admin)