Почему я получаю одинаковые обработчики родительского и дочернего окон при печати?
String parentWindowHandler = browser.getWindowHandle(); // Store your parent window
System.out.println(parentWindowHandler);
browser.findElement(By.cssSelector("button.btn-danger")).click();
String subWindowHandler = null;
Set<String> handles = browser.getWindowHandles(); // get all window handles
Iterator<String> iterator = handles.iterator();
while (iterator.hasNext()){
subWindowHandler = iterator.next();
}
browser.switchTo().window(subWindowHandler);
System.out.println(subWindowHandler);// switch to popup window
1 ответ
Итератор в верхней части вашей коллекции. Когда ты iterator.next()
это будет только ваше родительское окно. Если вы хотите получить дескриптор окна ребенка, сделайте на больше iterator.next()
while (iterator.hasNext()){
parentWindowHandler = iterator.next();
subWindowHandler = iterator.next();
}