Find the code for handling multiple windows via windows handler the steps are given in detail
here on clicking on the first window a new window shall open and while you move to the new window does not mean moving driver to the 2nd window, but it will still point to parent window so how to move to child window to a parent window is defined here
@Test
public void test1() throws InterruptedException {
System.setProperty("Webdriver.chrome.driver", "chromedriver");
WebDriver driver = new ChromeDriver();
driver.get("https://www.online.citibank.co.in/");
driver.manage().timeouts().implicitlyWait(6, TimeUnit.SECONDS);
System.out.println(driver.getTitle());
//gives you ID of current window
String pa = driver.getWindowHandle();
System.out.println(pa);
//to click on the login button which will open anew window
driver.findElement(By.xpath("//*[@title='LOGIN NOW']/img")).click();;
//allwin.size give you number of windows/popup open which is 2
//set object does not store the value on the basis of indexes
Set<String> allwin = driver.getWindowHandles();
int count = allwin.size();
System.out.println(count);
//in order to work on the new window you need to point your driver on the new window to do that iterate the windows
//as windowhandles is a set object "For loop" wont work as set object does not store the value on the basis of indexes instead we will use iterator
//create iterator object
Iterator <String> it =allwin.iterator();
//it.next will give you parent window id value and Remember your driver is still Ponting to the first window
String parentwindow = it.next();
System.out.println("parentwindow id"+" "+ parentwindow);
//it.next if mentioned 2nd time it will point it to child window
String childwindow =it.next();
driver.manage().timeouts().implicitlyWait(2, TimeUnit.SECONDS);
System.out.println("childwindow id"+" "+ childwindow);
driver.switchTo().window(childwindow);
System.out.println("title of childwindow"+" "+driver.getTitle());
//will quit the window where you driver is present
driver.quit
}
}
You can also check the execution of code here
Comments
Post a Comment