Wednesday, May 6, 2015

How to handle multiple windows in Selenium?

Multiple web windows or tabs can be handled using window handlers and javascript executor.

Window handle is a unique identifier of the browser window. 

String strCurrentHandle = driver.getWindowHandle() : To get the window handle of the current browser window

Set<String> strHandles = driver.getWindowHandles() : To get all the window handles of browser windows opened. It returns set of handles.

String strPrevHandle = driver.getWindowHandle();
driver.findElement(By.xpath("//a[@id='link']");
Set<String> strHandles = driver.getWindowHandles();
for(String strHandle : strHandles){
    if(! strHandle.equalIgnoreCase(strPrevHandle)){
        driver.switchTo.window(strHandle)
        System.out.println(driver.getTitle());
        driver.close();
    }
}

driver.switchTo.window(strPrevHandle);

No comments:

Post a Comment

Selenium 3 vs Selenium 4