Getting “The path to the driver executable must be

2020-02-06 05:52发布

My code is very simple code:

WebDriver wd =new ChromeDriver();
  System.setProperty("webdriver.chrome.driver",
                     "D:\\List_of_Jar\\chromedriver.exe");    
       String baseUrl = "https://www.google.com";wd.get(baseUrl);

have downloaded and added jar as "Java-3.4.0" from selenium hq site. Download Google Chrome Driver-2.29 from the same website and located it in "D:\List_of_Jar" path.

When I run the above code I getting an error as " 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:738)".

Getting version error though did proper configuration. so kindly help me for fixing the issue. Details: OS: Windows XP. Java : JDK1.8 and JRE1.8. Selenium : version 3.4

8条回答
爷、活的狠高调
2楼-- · 2020-02-06 05:55

If you are using IntelliJ IDE, then on IntelliJ without setting up within the 'Run > Edit configurations > VM Options' i will just meet this error:

Failed scenarios:
C:/Users/DATestAdmin/IdeaProjects/TestLogin/src/test/resources/login.feature:4 # Scenario: Successfully logging in

1 Scenarios (1 failed)
3 Steps (3 skipped)
0m0.194s

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

So once i've added the path to my chromedriver locally in 'Run > Edit configurations > VM Options':

-Dwebdriver.chrome.driver="C:\\Users\\This\\Is\\Where\\ChromeDriverIs\\chromedriver_win32.exe"

Run > Edit Configurations

I'm now able to launch my Chrome browser successfully.

查看更多
贪生不怕死
3楼-- · 2020-02-06 05:57

I also encountered the same problem. Following fix, made my application run smoothly.

Firstly, the required version of chrome driver could be found from below link.

http://chromedriver.storage.googleapis.com/index.html

It is best to use always the latest version. After downloading, set the path of chrome driver in System.setProperty("webdriver.chrome.driver","{Your path Chrome Driver}");

Follow the code fragment.

        System.out.println("Creating Chrome Driver");
     // Set Chrome Driver
        System.setProperty("webdriver.chrome.driver", "D:\\chromedriver.exe");

        WebDriver driver = new ChromeDriver();
        driver.get("{Your URL}");
        System.out.println("Wait a bit for the page to render");
        TimeUnit.SECONDS.sleep(5);
        System.out.println("Taking Screenshot");
        File outputFile = ((TakesScreenshot) driver).getScreenshotAs(OutputType.FILE);
        String imageDetails = "D:\\Images";
        File screenShot = new File(imageDetails).getAbsoluteFile();
        FileUtils.copyFile(outputFile, screenShot);
        System.out.println("Screenshot saved: {}" + imageDetails);
查看更多
Juvenile、少年°
4楼-- · 2020-02-06 05:59

Driver path should be set before browser launch as given below.

System.setProperty("webdriver.chrome.driver","D:\List_of_Jar\chromedriver.exe");
WebDriver wd =new ChromeDriver();
String baseUrl = "https://www.google.com";
wd.get(baseUrl);"
查看更多
▲ chillily
5楼-- · 2020-02-06 06:03

I was getting the same error, since chrome driver was not installed on my machine. Install the chrome driver. Follow: https://github.com/SeleniumHQ/selenium/wiki/ChromeDriver

查看更多
萌系小妹纸
6楼-- · 2020-02-06 06:08

Try:

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

public class Demo2 {

    public static void main(String[] args) {
        // TODO Auto-generated method stub

        System.setProperty("webdriver.chrome.driver", "I:\\Bhasker-ShiroCode\\work\\chromedriver.exe");

        WebDriver driver = new ChromeDriver();

        driver.get("http://google.com");
    }

}

To avoid Error:

  • webdriver.chrome.driver ( should be in small letters )
  • have to give correct chromedriver.exe ( correct path )
  • Import all Selenium jars under class Path
查看更多
甜甜的少女心
7楼-- · 2020-02-06 06:15

I totally agree with Murthi, but better is to set relative path to the driver, NOT the absolute.

Relative path looks like:

System.setProperty("webdriver.chrome.driver", "src/test/resources/drivers/chromedriver.exe");

Abosulte: is the path to the driver in your PC.

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

Why? It is a good practice to have driver inside your project, not just in your computer. Just find or create folder f.e. resources, inside resources create folder called f.e. drivers and import your driver/drivers exe files there.

查看更多
登录 后发表回答