How to open a link in new tab (chrome) using Selenium WebDriver?
this below code works for me in Selenium 3 and chrome version 58.
WebDriver driver = new ChromeDriver(); driver.get("http://yahoo.com"); ((JavascriptExecutor)driver).executeScript("window.open()"); ArrayList<String> tabs = new ArrayList<String>(driver.getWindowHandles()); driver.switchTo().window(tabs.get(1)); driver.get("http://google.com");
I checked with below code and it works fine for me. I found answer from here.
driver = new ChromeDriver(); driver.manage().window().maximize(); String baseUrl = "http://www.google.co.uk/"; driver.get(baseUrl); driver.findElement(By.cssSelector("body")).sendKeys(Keys.CONTROL +"t"); ArrayList<String> tabs = new ArrayList<String> (driver.getWindowHandles()); driver.switchTo().window(tabs.get(1)); //switches to new tab driver.get("https://www.facebook.com"); driver.switchTo().window(tabs.get(0)); // switch back to main screen driver.get("https://www.news.google.com");
I have tried other techniques, but none of them worked, also no error produced, but when I have used the code below, it worked for me.
((JavascriptExecutor)driver).executeScript("window.open()");ArrayList<String> tabs = new ArrayList<String>(driver.getWindowHandles());driver.switchTo().window(tabs.get(1));driver.get("http://google.com");