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();
}
}
From selenium 4.6.0 we do not need to explicitly handle this as now drivers are self capable using selenium manager. It's a beta verison as of now. refer:
https://www.selenium.dev/documentation/selenium_manager/
https://www.selenium.dev/blog/2022/introducing-selenium-manager/
if you are using lower version of selenium due to some reasons or do not want to use default SeleniumManager follow below steps:
Add below dependency as below:
<dependency>
<groupId>io.github.bonigarcia</groupId>
<artifactId>webdrivermanager</artifactId>
<version>5.9.2</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/");
Note: Arguments are optional.
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 :)