Я пытаюсь переключиться между окнами и поставить бухгалтера, чтобы узнать, нашел ли Селен второе окно, но не находит его, обратите внимание, что он видит только окно 01, которое это окно Отца.Переключение между двумя окнами в браузере с использованием Selenium java
как мне найти это второе окно и переключиться на него?
Я использую: Селен-сервера автономный-2.48.2 + Eclipse, Java + 1,8
Я попытался это:
//Get all window handles
Set<String> allHandles = driver.getWindowHandles();
//count the handles Here count is=2
System.out.println("Count of windows:"+allHandles.size());
//Get current handle or default handle
String currentWindowHandle = allHandles.iterator().next();
System.out.println("currentWindow Handle"+currentWindowHandle);
//Remove first/default Handle
allHandles.remove(allHandles.iterator().next());
//get the last Window Handle
String lastHandle = allHandles.iterator().next();
System.out.println("last window handle"+lastHandle);
//switch to second/last window, because we know there are only two windows 1-parent window 2-other window(ad window)
driver.switchTo().window(lastHandle);
System.out.println(driver.getTitle());
driver.findElement(By.tagName("body")).click();
сообщение на консоль:
Вы уверены, что все открытые окна браузера являются экземплярами webdriver? – parishodak
@parishodak Второе окно создается после щелчка по кнопке, которая находится в первом окне, поэтому я не могу четко определить, принадлежит ли она экземпляру WebDriver, но я так думаю –
hmm, вы пытаетесь подсчитать ручки окна для браузера IE? попробуйте эти параметры. 1) ввести wait перед вызовом метода «getwindowhandles» 2) если браузер IE, включите возможность flakiness – parishodak