Я использую фреймворк, управляемый ключевыми словами, и вызываю его из файла DS.java
. Мои требования следующие:
Переключение между окнами браузера с помощью Selenium Webdriver
- Browser window01: выполнять задачи,
- Открыть новый window02 браузер, нажав на URL в window01,
- На window02, выполнять определенные задачи,
- Закрыть window02 и переключатель управления для window01,
- Я получаю ошибку
org.openqa.selenium.NoSuchWindowException: no such window. (Session info: chrome=55.0.2883.87)
(Driver info: chromedriver=2.26.436362 (5476ec6bf7ccbada1734a0cdec7d570bb042aa30),platform=Windows NT 6.1.7601 SP1 x86_64) (WARNING: The server did not provide any stacktrace information)
Я сделал с указанным ниже кодом, но это не сработало для меня.
(able to get the window handle here: CDwindow-b20d349b-3cb5-42ed-9f77-5229c88d4300)
public static void store_ParentWindow(String TCID,String vTCD,String vKW) throws IOException, InterruptedException, AWTException, BiffException, ParseException{
String parentWindow = driver.getWindowHandle();
DS.envVar.put("parentWindow", parentWindow);
Thread.sleep(5000);
System.out.println(DS.envVar.get("parentWindow"));
}
public static void switch_ParentWindow(String TCID,String vTCD,String vKW) throws IOException, InterruptedException, AWTException, BiffException, ParseException{
driver.close();
String parentWindow = DS.envVar.get("parentWindow");
System.out.println(DS.envVar.get("parentWindow"));
driver.switchTo().window(parentWindow);
driver.switchTo().defaultContent();
Thread.sleep(5000);
}
Может кто-нибудь помочь мне в этом вопросе?
Ваш код не работал для меня, так как мне они нужны в двух разных шагах. Кстати, у меня нет проблемы с захватом дескриптора родительского окна или переключением в новое окно и его закрытием. Единственная проблема заключается в том, что я не могу вернуться в окно родителя после закрытия нового окна. – xxan
Для возврата в предыдущее окно используйте окно 'driver.switchTo(). Window (winHandleBefore);' –
Я тоже пробовал, что не повезло. Спасибо за ваш ответ – xxan