Click here to Skip to main content
65,938 articles
CodeProject is changing. Read more.
Articles / Languages / Java

WebDriver and ChromeDriver

5.00/5 (2 votes)
20 Apr 2023CPOL2 min read 7.1K  
Chromedriver and how to use it
Chromedriver is a popular open-source tool for automating web applications in a browser, specifically Google Chrome. Here, we discuss the use of Chromedriver in Java and provide examples of its usage.

Introduction

It is a part of the Selenium WebDriver framework, which allows you to control a web browser using various programming languages, including Java. Chromedriver is a Java executable that runs a separate HTTP server, which communicates with your Java code and controls the Chrome browser using the Chrome DevTools Protocol. In this article, we will discuss the use of Chromedriver in Java and provide examples of its usage.

Installation

Before using Chromedriver, you need to install it on your system. Chromedriver is available for all major operating systems, including Windows, macOS, and Linux. You can download the latest version of Chromedriver from the official website.

After downloading Chromedriver, you need to set the system environment variable webdriver.chrome.driver to the location of the Chromedriver executable. In Windows, you can set the environment variable by following these steps:

  1. Open the Start menu and search for Environment Variables.
  2. Click on the Edit the system environment variables option.
  3. Click on the Environment Variables button.
  4. Under the System Variables section, click on the New button.
  5. Enter webdriver.chrome.driver as the variable name and the path to the Chromedriver executable as the variable value.
  6. Click on the OK button to save the changes.

Using Chromedriver in Java

Once you have installed Chromedriver and set the system environment variable, you can start using it in your Java code. Here is an example of how to launch the Chrome browser using Chromedriver in Java:

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

public class Main {
    public static void main(String[] args) {
        // Set the path to the Chromedriver executable
        System.setProperty("webdriver.chrome.driver", "path/to/chromedriver");
        
        // Launch the Chrome browser
        WebDriver driver = new ChromeDriver();
        
        // Navigate to a website
        driver.get("https://bet365-il.net/");
        
        // Close the browser
        driver.quit();
    }
}

In the above example, we first set the webdriver.chrome.driver system property to the path of the Chromedriver executable. We then create a new instance of the ChromeDriver class, which launches the Chrome browser. We navigate to a website using the get() method of the WebDriver interface and finally close the browser using the quit() method.

Controlling the Browser

Chromedriver allows you to control the Chrome browser using various methods provided by the WebDriver interface. Here are some examples of how to control the browser using Chromedriver in Java.

Java
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;

public class Main {
    public static void main(String[] args) {
        // Set the path to the Chromedriver executable
        System.setProperty("webdriver.chrome.driver", "path/to/chromedriver");
        
        // Launch the Chrome browser
        WebDriver driver = new ChromeDriver();
        
        // Navigate to a website
        driver.get("https://www.google.com");
        
        // Find an element by ID and enter text into it
        WebElement searchBox = driver.findElement(By.id("lst-ib"));
        searchBox.sendKeys("Chromedriver in Java");
        searchBox.submit();
        
        // Wait for the search results to load
        WebDriverWait wait = new WebDriverWait(driver, 10);
        wait.until(ExpectedConditions.titleContains
                  ("Chromedriver in Java - Google Search"));
        
        // Click on the first search result
        WebElement firstResult = driver

History

  • 19th April, 2023: Initial version

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)