Google Chrome Driver: Difference between revisions
Line 59: | Line 59: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Playground project: {{External|https://github.com/ovidiuf/playground/tree/master/selenium/chromedriver/remote-chromedriver-java}} | Playground project: {{External|https://github.com/ovidiuf/playground/tree/master/selenium/chromedriver/remote-chromedriver-java}} | ||
=Driver Capabilities= | =Driver Capabilities= | ||
{{External|https://sites.google.com/chromium.org/driver/capabilities}} | {{External|https://sites.google.com/chromium.org/driver/capabilities}} |
Revision as of 08:03, 2 June 2021
External
Internal
Overview
ChromeDriver is a separate executable that Selenium WebDriver uses to control Chrome.
The executable is chromedriver
. ChromeDriver expects you to have Chrome installed in the default location for your platform. ChromeDriver can be forced to use a custom location, by setting a special capability.
Controlling a Chrome Browser from Java
Collocated Driver
A Java program can control a browser via a collocated Chrome driver, which is started as the program runs:
import org.openqa.selenium.*;
import org.openqa.selenium.chrome.*;
public class Main {
public static void main(String[] args) throws Exception {
System.setProperty("webdriver.chrome.driver", "/usr/local/bin/chromedriver");
WebDriver driver = new ChromeDriver();
driver.get("http://www.google.com/");
WebElement searchBox = driver.findElement(By.name("q"));
searchBox.sendKeys("ChromeDriver");
searchBox.submit();
driver.quit();
}
}
Assuming chromedriver
is installed at the specified location and Chrome is installed in the default location on the system, the program will start the driver, then a Chrome browser and will execute the automation.
Playground project:
RemoteWebDriver
A Java program can also control a browser via a remote Chrome driver, accessible over network. The program will use the RemoteWebDriver
API.
The remote Chrome driver should be started in advance on the test system:
chromedriver
Starting ChromeDriver 90.0.4430.24 (4c6d850f087da467d926e8eddb76550aed655991-refs/branch-heads/4430@{#429}) on port 9515
Only local connections are allowed.
ChromeDriver was started successfully.
The browser can be driven as follows:
import org.openqa.selenium.*;
import org.openqa.selenium.chrome.*;
import org.openqa.selenium.remote.RemoteWebDriver;
import java.net.URL;
public class Main {
public static void main(String[] args) throws Exception {
WebDriver remoteWebDriver = new RemoteWebDriver(new URL("http://127.0.0.1:9515"), new ChromeOptions());
remoteWebDriver.get("http://www.google.com/");
WebElement searchBox = remoteWebDriver.findElement(By.name("q"));
searchBox.sendKeys("ChromeDriver");
searchBox.submit();
remoteWebDriver.quit();
}
}
Playground project:
Driver Capabilities
Operations
Installation
Mac
brew install --cask chromedriver
brew upgrade --cask chromedriver
Version
chromedriver --version