What is default location of ChromeDriver and for installing Chrome on Windows

For any driver that Selenium must use to open the browser (chromedriver, geckodriver, etc), you don't have to worry about where it is installed, as long as it's set in the PATH variable.

If you have it set in the OS PATH variable, you must be able to run it from the command or cmd (it's always good to make sure it's working).

Here's how you can set it (append to the existing value):

• Article: https://www.computerhope.com/issues/ch000549.htm

Then you can just instantiate it as follows:

WebDriver driver = new FirefoxDriver();


OR

WebDriver driver = new ChromeDriver();


Default location on Windows is: C:\Program Files\(select the folder you want to put your file)\chromedriver.exe

In your Selenium code, paste the driver path correctly, for example:

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


These are two interrelated important questions as follows :

• Default location of ChromeDriver
• Default location of Chromium/Google Chrome

ChromeDriver

You can download the recently released ChromeDriver from ChromeDriver - WebDriver for Chrome page and place it any where within your system. When you initialize the ChromeDriver you need to pass the absolute path of the ChromeDriver binary.

Additionally, you can also help WebDriver to locate the downloaded ChromeDriver executable through the following steps :

• Include the ChromeDriver location in your system PATH environment variable.
• (Java) Specify the location of ChromeDriver through the webdriver.chrome.driver system property
• (Python) Specify the location of ChromeDriver when instantiating webdriver.Chrome()

The most important fact is you need to ensure that Chromium/Google Chrome is installed in a recognized location as per the ChromeDriver - Requirements as the server expects you to have Chromium/Google Chrome installed in the default location for each system as per the snapshot:

Note : For Linux systems, the ChromeDriver expects /usr/bin/google-chrome to be a symlink to the actual Chrome binary. You can also override the Chrome binary location following Using a Chrome executable in a non-standard location .

Sample Code Block

• Java :

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

public class A_Chrome
{
public static void main(String[] args)
{
// Optional : if not specified WebDriver will search your system PATH environment variable for locating the chromedriver
System.setProperty("webdriver.chrome.driver", "C:\\path\\to\\chromedriver.exe");
WebDriver driver =  new ChromeDriver();
System.out.println(driver.getTitle());
driver.quit();
}
}

• Python :

from selenium import webdriver

# Optional argument : if not specified WebDriver will search your system PATH environment variable for locating the chromedriver
driver = webdriver.Chrome(executable_path=r'C:\path\to\chromedriver.exe')
print("Page Title is : %s" %driver.title)
driver.quit()