Google Chrome Driver: Difference between revisions
Line 36: | Line 36: | ||
<syntaxhighlight lang='bash'> | <syntaxhighlight lang='bash'> | ||
chromedriver | chromedriver | ||
Starting ChromeDriver 90.0.4430.24 (4c6d850f087da467d926e8eddb76550aed655991-refs/branch-heads/4430@{#429}) on port 9515 | Starting ChromeDriver 90.0.4430.24 (4c6d850f087da467d926e8eddb76550aed655991-refs/branch-heads/4430@{#429}) on port 9515 | ||
Only local connections are allowed. | Only local connections are allowed. | ||
ChromeDriver was started successfully. | ChromeDriver was started successfully. | ||
</syntaxhighlight> | </syntaxhighlight> | ||
The browser can be driven as follows: | |||
=Driver Capabilities= | =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.
The browser can be driven as follows:
Driver Capabilities
Operations
Installation
Mac
brew install --cask chromedriver
brew upgrade --cask chromedriver
Version
chromedriver --version