get all tab handles in selenium code example
Example 1: multiple tabs in selenium
Selenium stays on one window. If you open a window and then 5 tabs popped open,
selenium is focused on the first window
If you are on a new window and you tell selenium to print an element on
the default window, it will still work even that user’s focus is on the
new window. Must switch to new window:
- Use windowHandle()
- Driver.getWindowHandle()
- Everytime Selenium opens a browser, it's going to give an index ID
for the page called Handles
- Returns the handle/id of current page (as a string)
- driver.switchTo().window(string handle)
- driver.getWindowHandles() for multiple windows
Returns a Set of window handles
- Switch using titles:
for(string handle: driver.getWindowHandles()){
driver.switchTo().Window(handle)
if(driver.getTitle().equals(targetTitle)
break;
Example 2: switch tab in selenium
psdbComponent.clickDocumentLink();
ArrayList<String> tabs2 = new ArrayList<String> (driver.getWindowHandles());
driver.switchTo().window(tabs2.get(1));
driver.close();
driver.switchTo().window(tabs2.get(0));