В моем проекте я попытался автоматизировать создание нового сотрудника, для этого мне нужно щелкнуть ссылку, которая откроет дочернее окно из главного окна и в этом дочернем мне нужно щелкнуть по кнопке поиска, чтобы выбрать диспетчер отчетов для этого сотрудника. После нажатия этого поиска im получаю новое окно внука, которое содержит список имен менеджеров, чтобы я мог выбрать один из них.Не удалось обработать недавно открытое окно GrandChild (Lookup) из дочернего окна
Ниже приведен код, который я использовал для перемещения между окнами,
// Переход от родителя к ребенку
String parentWindow = driver.getWindowHandle();
Set<String> windowHandles = driver.getWindowHandles();
System.out.println(windowHandles.size());
windowHandles.remove(parentWindow);
driver.switchTo().window((String) windowHandles.toArray()[0]);
// Click lookup to emulate Grandchild window
driver.findElement(..)
//From child to grandchild
Set<String> grandChild_Child_ParentHandles=driver.getWindowHandles();
grandChild_Child_ParentHandles.remove(parentWindow);
grandChild_Child_ParentHandles.remove(windowHandles);
System.out.println(grandChild_Child_ParentHandles.size());
driver.switchTo().window((String) grandChild_Child_ParentHandles.toArray()[0]);
System.out.println(driver.getTitle());
Мой код работает до нажатия этой поиск, после того, что мой код перестал выполнить. И код запускается снова, если и только я закрыл окно Grandchild вручную. Мне интересно, почему это происходит.
Просьба помочь!
Спасибо заранее, Шив
Я задаюсь ли окно внучат вы говорите, это Infact новое окно или Javascript оповещения, основываясь на утверждении, что ваш код остановился, чтобы выполнить, когда откроется окно внучат, а код возобновляется, когда его закрыто. Попробуйте одно. Поместите код 'System.out.println (« Всего окон: »+ driver.getWindowHandles(). Size());' после кода, который открывает внук. Дайте мне знать, что он возвращает. – Subh
Привет, Спасибо за быстрый ответ. Я попытался разместить ur-код после того, как откроется окно внука, как я упоминал ранее, общее количество окон отображается только после того, как я закрыл окно внука. И я уже пробовал разместить ниже код дескриптора, который также не работает. Alert aler = driver.switchTo(). Alert(); System.out.println (aler.getText()); и im получают «нуль» в качестве текста предупреждения после закрытия окна Grandchild. –
Можете добавить скриншот, как выглядит окно внучка? Вы можете загрузить [изображение в imgur] (http://imgur.com/) и добавить ссылку сюда для справки. – Subh