Я пытаюсь достичь следующего потока в селене,
- нажмите на ссылку, чтобы открыть новую вкладку (child1) из родительского окна
- закрыть драйвер (child1) после выполнение определенных действий
- Снова откройте ту же ссылку (child1), чтобы выполнить другой набор действий
Я могу успешно выполнить первые два шага, переключив фокус. Но я застрял на третьем шаге, где я не могу сосредоточиться на той же вновь открывшейся вкладке. Я получаю следующую ошибку: org.openqa.selenium.StaleElementReferenceException: ссылка на устаревший элемент: элемент не прикреплен к документу страницы
public class abc {
String currentWindow = driver.getWindowHandle();
public void action1() {
//Click on main menu that open a new tab
for (String handle : driver.getWindowHandles()) {
if (!handle.equals(currentWindow)) {
driver.switchTo().window(handle);
}
//Perform the actions
driver.close();
driver.switchTo().window(currentWindow);
}
public void action2(){
//Click on main menu which reopen the same tab
for (String handle : driver.getWindowHandles()) {
if (!handle.equalsIgnoreCase(currentWindow)) {
System.out.println("Port Response : switch focus");
driver.switchTo().window(handle);
break;
}
}
//perform a set of actions
driver.close();
driver.switchTo().window(currentWindow);
}
}//end of abc
Я хочу создать действия, более похожие на повторно используемое независимое действие, поэтому я бы хотел нравится закрывать все вкладки и снова открывать их для других действий. Пожалуйста, дайте мне знать, если вам нужна дополнительная информация по этому вопросу.