I add the below dependency and code for Opening Chrome,but browser is not opening.
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-chrome-driver</artifactId>
<version>2.50.0</version>
</dependency>
My code :-
package example;
import org.openqa.selenium.WebDriver;`
import org.openqa.selenium.chrome.ChromeDriver;
import org.testng.annotations.Test;
public class DepChrome {
@Test
public void testBrowser() {
WebDriver driver = new ChromeDriver();
driver.manage().window().maximize();
}
}
As Google Chrome dominates the browser market, the use of a ChromeDriver becomes a must. Selenium WebDriver uses the ChromeDriver to communicate test scripts with Google Chrome. It is used to navigate between web pages and provide input to the same.
ChromeDriver is a separate executable that Selenium WebDriver uses to control Chrome. It is maintained by the Chromium team with help from WebDriver contributors. If you are unfamiliar with Selenium WebDriver, you should check out the Selenium site.
Users provided relevant link to confirm that, "YES" a full Chrome installation is needed in addition to the actual chromedriver.
Add below dependies as below:
<dependency>
<groupId>io.github.bonigarcia</groupId>
<artifactId>webdrivermanager</artifactId>
<version>3.0.0</version>
<!-- <scope>test</scope> -->
</dependency>
Source: copy new dependencies version from below URL:
https://mvnrepository.com/artifact/io.github.bonigarcia/webdrivermanager
use below code :
WebDriver driver = null;
WebDriverManager.chromedriver().browserVersion("77.0.3865.40").setup();
ChromeOptions options = new ChromeOptions();
options.addArguments("start-maximized");
options.addArguments("enable-automation");
options.addArguments("--no-sandbox");
options.addArguments("--disable-infobars");
options.addArguments("--disable-dev-shm-usage");
options.addArguments("--disable-browser-side-navigation");
options.addArguments("--disable-gpu");
driver = new ChromeDriver(options);
driver.get("https://www.google.com/");
Basically below line of code did the trick, below code to download a specific version
WebDriverManager.chromedriver().browserVersion("77.0.3865.40").setup();
Required version you can get from below URL:
https://chromedriver.storage.googleapis.com/index.html
you can also use below code instead of above, if you are looking for latest dependencies present on above chromedriver URL
WebDriverManager.chromedriver().setup();
OR (Old Way)
You need to give path of chrome binary as below:
System.setProperty("webdriver.chrome.driver", "C:\\pathto\\my\\chromedriver.exe");
WebDriver driver = new ChromeDriver();
driver.get("http://www.google.com");
Download the binary of chrome from selenium site as below :- http://chromedriver.storage.googleapis.com/index.html?path=2.21/
Now provide the path of the binary to selenium as :-
System.setProperty("webdriver.chrome.driver", "C:\\pathto\\my\\chromedriver.exe");
There is one more thing to take care. if you are using windows then use backward slash \\
and if you are using mac or linux then use forward slash //
for setting up the path.
Hope it will help you :)
There are two ways.
Easiest way is to download chromedriver from the this location
Download chrome web driver
Then create a source folder in your project. (Ex : BrowserDrivers) and add downloaded library into this.
Then set the chrome driver path in the automation script using setProperty command as follow.
System.setProperty("webdriver.chrome.driver", "BrowserDrivers/chromedriver.exe");
But there is another way. This is more suited for maven build. Add following dependencies in to the POM.xml file.
There are 2 dependencies. One for Chrome Driver. But to use chrome driver dependency you have to add webdrivermanager dependency. It is compulsory dependency for browser driver. So always you have to add both of them. For more details refer this link Github Webdriver manager link
<dependency>
<groupId>io.github.bonigarcia</groupId>
<artifactId>webdrivermanager</artifactId>
<version>2.2.5</version>
</dependency>
And add chrome driver dependency also.
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-chrome-driver</artifactId>
<version>2.50.0</version>//Your chrome driver version
</dependency>
Then in your automation script use this line instead of System.setProperty command to declare chrome driver.
ChromeDriverManager.getInstance().setup();
UPDATE: the use of ChromeDriverManager is deprecated, use this instead:
import static io.github.bonigarcia.wdm.DriverManagerType.CHROME;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import io.github.bonigarcia.wdm.WebDriverManager;
WebDriverManager.getInstance(CHROME).setup();
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With