Google Chrome Driver: Difference between revisions
Line 8: | Line 8: | ||
=Controlling a Chrome Browser from Java= | =Controlling a Chrome Browser from Java= | ||
A Java program can control a browser via | ==Collocated Driver== | ||
A Java program can control a browser via a collocated Chrome driver, which is started as the program runs: | |||
<syntaxhighlight lang='java'> | <syntaxhighlight lang='java'> | ||
import org.openqa.selenium.*; | import org.openqa.selenium.*; | ||
Line 24: | Line 25: | ||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Assuming <code>chromedriver</code> is installed at the specified location and Chrome is installed in the default location on the system, the program will start a Chrome browser and will execute the automation. | Assuming <code>chromedriver</code> 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: {{External|https://github.com/ovidiuf/playground/tree/master/selenium/chromedriver/chromedriver-java}} | Playground project: {{External|https://github.com/ovidiuf/playground/tree/master/selenium/chromedriver/chromedriver-java}} | ||
More examples: {{External|https://sites.google.com/chromium.org/driver/getting-started}} | More examples: {{External|https://sites.google.com/chromium.org/driver/getting-started}} | ||
==RemoteWebDriver== | |||
A Java program can also control a browser via a remote Chrome driver, accessible over network. The program will use the <code>RemoteWebDriver</code> API. | |||
The remote Chrome driver should be started in advance on the test system: | |||
<syntaxhighlight lang='bash'> | |||
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. | |||
</syntaxhighlight> | |||
=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 07:56, 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:
More examples:
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.
Driver Capabilities
Operations
Installation
Mac
brew install --cask chromedriver
brew upgrade --cask chromedriver
Version
chromedriver --version