Home > Net >  Exception in thread "main" java.lang.IllegalStateException: The driver executable must exi
Exception in thread "main" java.lang.IllegalStateException: The driver executable must exi

Time:07-26

I am unable to execute my first selenium code. Tried changing webdriver path several times but that didn't work.

Code trials:

package Learningday1;

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;

public class FirstScript {

    public static void main(String[] args) {
        System.setProperty("webdriver.chrome.driver", "‪‪‪C:\\Users\\amann\\Downloads\\chromedriver_win32\\chromedriver.exe");
        WebDriver driver = new ChromeDriver(); 
        driver.get("https://selenium.dev");
        System.out.println(driver.getTitle());
        driver.quit();
    }

}

Error:

Exception in thread "main" java.lang.IllegalStateException: The driver executable must exist: C:\Users\amann\eclipse-workspace\Selenium learning 2.0\???C:\Users\amann\Downloads\chromedriver_win32\chromedriver.exe
    at org.openqa.selenium.internal.Require$FileStateChecker.isFile(Require.java:342)
    at org.openqa.selenium.remote.service.DriverService.checkExecutable(DriverService.java:147)
    at org.openqa.selenium.remote.service.DriverService.findExecutable(DriverService.java:142)
    at org.openqa.selenium.chrome.ChromeDriverService.access$000(ChromeDriverService.java:39)
    at org.openqa.selenium.chrome.ChromeDriverService$Builder.findDefaultExecutable(ChromeDriverService.java:233)
    at org.openqa.selenium.remote.service.DriverService$Builder.build(DriverService.java:437)
    at org.openqa.selenium.chrome.ChromeDriverService.createDefaultService(ChromeDriverService.java:128)
    at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:49)
    at Learningday1.FirstScript.main(FirstScript.java:10)

Snapshot:

enter image description here

CodePudding user response:

There is some ambiguity between your code trials and the error stacktrace.

In your code you mentioed the ChromeDriver as:

‪‪‪C:\\Users\\amann\\Downloads\\chromedriver_win32\\chromedriver.exe

Where as the error stacktrace mentions the driver executable doesn't exists at:

C:\Users\amann\eclipse-workspace\Selenium learning 2.0???C:\Users\amann\Downloads\chromedriver_win32\chromedriver.exe

Solution

Ensure that you have unzipped the ChromeDriver and placed with the sub-directory:

C:\\Users\\amann\\Downloads\\chromedriver_win32

and you need to mention the absolute path within the System.setProperty() line as:

System.setProperty("webdriver.chrome.driver", "‪‪‪C:\\Users\\amann\\Downloads\\chromedriver_win32\\chromedriver.exe");

Update

You have 2 projects with almost similar names, a maven project and another a Java project. The name starting with Selenium learning.

Try to avoid same name for multiple projects and blank spaces within the project names. Example SeleniumTest, SeleniumProgram, etc.

PS: You may opt to delete the current project and create a new one.


References

You can find a relevant detailed discussion in:

  • Related