Obtenir java.lang.IllegalStateException même après l'ajout de la propriété set webdriver
Je reçois 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 SeleniumFirefox.main(SeleniumFirefox.java:11)
Ci-dessous est le code utilisé 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
Author: user861594, 2016-05-24
2 answers
Définir webdriver.chrome.driver
au lieu de webdriver.chromedriver.driver
System.setProperty("webdriver.chromedriver.driver",
"C://Users//balwinder//Desktop//chromedriver.exe");
Devrait être:
System.setProperty("webdriver.chrome.driver",
"C:\\Users\\balwinder\\Desktop\\chromedriver.exe");
OU
System.setProperty("webdriver.chrome.driver",
"C:/Users/balwinder/Desktop/chromedriver.exe");
REMARQUE : cela ne fonctionnera que si vous définissez d'abord la propriété système, puis instanciez le pilote Chrome..
4
Author: user861594, 2018-01-26 23:29:14
Une autre solution sans {[0] } est simplement d'ajouter un dossier avec chromedriver.exe
au CHEMIN
(si quelqu'un ne sait pas comment - google "définir la variable path").
Vérifier que cette approche fonctionne, vous pouvez mettre chromedriver.exe
à C:\Windows\System32
dossier.
0
Author: Alexander P., 2018-06-02 19:45:44