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

12,001

Solution 1

Assuming the chromedriver.exe is stored at your desktop, you need to make a couple of changes as follows:

  • You need to replace the uppercase W with lower case w within Webdriver.chrome.driver.
  • As you are on system, presuming chromedriver.exe is placed in your desktop ypu need to append the WebDriver variant name along with the extension within the absolute path of the WebDriver.
  • Effectively the line of code will be:

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

Note: webdriver.chrome.driver needs to start with lowercase letter.

Solution 2

Once you download chrome driver into your system, after extracting it (unzipping it) into the folder, it looks like you have directly copied the folder path "Downloads/chromedriver_win32.exe", instead using full path as below mentioned

Open the folder (chromedriver_win32.exe), then you will see "chromedriver.exe" as .exe file, and use this path instead and it looks like this

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

This will work

Solution 3

Add your chrome driver to java resource folder

Driver location

Add the below mentioned code will work

System.setProperty("webdriver.chrome.driver", Objects.requireNonNull(getClass().getClassLoader().getResource("drivers/chromedriver.exe")).getFile() );
Share:
12,001
sam
Author by

sam

Updated on June 04, 2022

Comments

  • sam
    sam almost 2 years

    Here is my code:

    package Basics;
    
    import org.openqa.selenium.WebDriver;
    import org.openqa.selenium.chrome.ChromeDriver;
    
    public class invokegoogle {
    
        public static void main(String[] args) {
            // TODO Auto-generated method stub
    
        System.setProperty("Webdriver.chrome.driver", "C:\\Users\\sravani\\Desktop.exe");
        WebDriver driver=new ChromeDriver();
        driver.get("http://qaclickacademy.com");
    
        }
    
    }
    

    Getting the following errors:

    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:754)
        at org.openqa.selenium.remote.service.DriverService.findExecutable(DriverService.java:124)
        at org.openqa.selenium.chrome.ChromeDriverService.access$000(ChromeDriverService.java:32)
        at org.openqa.selenium.chrome.ChromeDriverService$Builder.findDefaultExecutable(ChromeDriverService.java:137)
        at org.openqa.selenium.remote.service.DriverService$Builder.build(DriverService.java:329)
        at org.openqa.selenium.chrome.ChromeDriverService.createDefaultService(ChromeDriverService.java:88)
        at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:124)
        at Basics.invokegoogle.main(invokegoogle.java:12)
    

    Any help is highly appreciated. Thanks in advance