How to Open a New Tab Using Selenium Webdriver in Java

How to open a new tab using Selenium WebDriver in Java?

The code below will open the link in a new tab.

String selectLinkOpeninNewTab = Keys.chord(Keys.CONTROL,Keys.RETURN);
driver.findElement(By.linkText("urlLink")).sendKeys(selectLinkOpeninNewTab);

The code below will open an empty new tab.

String selectLinkOpeninNewTab = Keys.chord(Keys.CONTROL,"t");
driver.findElement(By.linkText("urlLink")).sendKeys(selectLinkOpeninNewTab);

How to open a link in new tab (chrome) using Selenium WebDriver?

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");

How to open a new tab using Selenium WebDriver in C#?

Selenium 4 solution:

driver.SwitchTo().NewWindow(WindowType.Tab);

Note that it will open a new tab in the same window and will switch also to the newly opened tab.

to open a new window, you should use:

driver.SwitchTo().NewWindow(WindowType.Window);

Selenium 3 solution:

((IJavaScriptExecutor)driver).ExecuteScript("window.open()");
List<string> tabs = new List<string> (driver.WindowHandles);
driver.SwitchTo().Window(tabs[1]);

how to open new tab in selenium webdriver using Java or how to press ctrl +T in selenium using action class using selenium webdriver

I tried with javascript and robot class. Hope this will help you..

JavaScript

   driver.get("http://www.google.com/");
driver.manage().timeouts().pageLoadTimeout(30, TimeUnit.SECONDS);

//Open new tab
JavascriptExecutor jse = (JavascriptExecutor)driver;
jse.executeScript("window.open()");

//Switch to new tab
ArrayList<String> tabs = new ArrayList<String> (driver.getWindowHandles());
driver.switchTo().window(tabs.get(1));
driver.get("http://www.yahoo.com/");

Robot Class

    WebDriver driver = new ChromeDriver();
driver.get("http://www.google.com");
driver.manage().timeouts().pageLoadTimeout(30, TimeUnit.SECONDS);
System.out.println(driver.getTitle());

//Robot Class
Robot r = new Robot();
r.keyPress(KeyEvent.VK_CONTROL);
r.keyPress(KeyEvent.VK_T);
r.keyRelease(KeyEvent.VK_CONTROL);
r.keyRelease(KeyEvent.VK_T);

//Switch to new tab
ArrayList<String> tabs = new ArrayList<String> (driver.getWindowHandles());
driver.switchTo().window(tabs.get(1));
driver.get("http://www.yahoo.com/");
System.out.println(driver.getTitle());

Switch tabs using Selenium WebDriver with Java

    psdbComponent.clickDocumentLink();
ArrayList<String> tabs2 = new ArrayList<String> (driver.getWindowHandles());
driver.switchTo().window(tabs2.get(1));
driver.close();
driver.switchTo().window(tabs2.get(0));

This code perfectly worked for me. Try it out. You always need to switch your driver to new tab, before you want to do something on new tab.

How to open a new tab in Chrome and switch to that new tab in Java using Selenium

You can open new tab with javascript

public void openNewTab() {
((JavascriptExecutor)driver).executeScript("window.open('about:blank','_blank');");
}

If you want to perform operations within new tab you can use:

driver.switchTo().window(); This method accepts String as an argument. Window handle to be exact

You can get all handles like this

driver.getWindowHandles(). This will return you a Set of all handles in the current browser.

In order to switch to newly created tab, iterate through the handles and use switchTo() method like this:

    Set<String> handles = driver.getWindowHandles();
String currentWindowHandle = driver.getWindowHandle();
for (String handle : handles) {
if (!currentWindowHandle.equals(handle)) {
driver.switchTo().window(handle);
}
}

WARNING: This might be tricky if you have more than 2 tabs.



Related Topics



Leave a reply



Submit