Я создаю тестовые сценарии в селене, используя Eclipse, и нажимаю на сценарий в сценарии, в котором у меня есть родительское окно, я нажимаю на ссылку в этом окне, и открывается окно дочернего окна. Затем я хочу закрыть окно ребенка и снова выполнить функции в родительском окне.public static void daysInStockSelectContract(InternetExplorerDriver driver) {
driver.findElement(By.xpath(".//*[@id='page-content']/table/tbody/tr[1]/td[1]/a")).click();
for(String winHandle : driver.getWindowHandles()) {
driver.switchTo().window(winHandle);
driver.close();
}
}
< /code>
Когда я запускаю приведенный выше код, окно дочернего окна остается открытым, пока закрывается родительское окно, что является противоположным эффектом того, что я хотел. Также ошибка следующего, показана в консоли: < /p>
"Исключение в потоке" Main "org.openqa.selenium.remote.sessionNotFoundException: Session 1FF55FB6-71C9-4466-9993-32D7D9CAE76000. /P существует. /> < /blockquote>
Я использую IE webdriver для моих сценариев селена. Работа. < /p>
public static void daysInStockSelectContract(InternetExplorerDriver driver) {
//get the parent handle before clicking on the link
String winHandleBefore = driver.getWindowHandle();
driver.findElement(By.xpath(".//*[@id='page-content']/table/tbody/tr[1]/td[1]/a")).click();
// the set will contain only the child window now. Switch to child window and close it.
for(String winHandle : driver.getWindowHandles()) {
driver.switchTo().window(winHandle);
}
driver.close();
driver.switchTo().window(winHandleBefore);
}
Подробнее здесь: https://stackoverflow.com/questions/269 ... -webdriver