веб-драйвер selenium – переход к родительскому окну

Я использую веб-драйвер seleniumа. Я открыл родительское окно. После того, как я нажму на ссылку, откроется новое окно. Я выбираю какое-то значение из списка, и это окно автоматически закрывается. Теперь мне нужно работать в моем родительском окне. Как я могу это сделать? Я попробовал следующий код:

String HandleBefore = driver.getWindowHandle(); driver.findElement(By.xpath("...")).click(); for (String Handle : driver.getWindowHandles()) { driver.switchTo().window(Handle);} driver.findElement(By.linkText("...")).click(); driver.switchTo().window(HandleBefore); 

Однако это не работает.

Попробуйте это, прежде чем щелкнуть ссылку, открывающую новое окно:

 parent_h = browser.current_window # click on the link that opens a new window handles = browser.window_handles # before the pop-up window closes handles.remove(parent_h) browser.switch_to_window(handles.pop()) # do stuff in the popup # popup window closes browser.switch_to_window(parent_h) # and you're back 

public boolean switchBackParentWindowTitle (String windowTitle) {

  boolean executedActionStatus = false; try { Thread.sleep(1000); WebDriver popup = null; Set handles = null; handles =driver.getWindowHandles(); Iterator it = handles.iterator(); while (it.hasNext()){ String switchWin = it.next(); popup = driver.switchTo().window(switchWin); System.out.println(popup.getTitle()); if(popup.getTitle().equalsIgnoreCase(windowTitle)){ log.info("Current switched window title is "+popup.getTitle()); log.info("Time taken to switch window is "+sw.elapsedTime()); executedActionStatus = true; break; } else log.info("WindowTitle does not found to switch over"); } } catch (Exception er) { er.printStackTrace(); log.error("Ex: "+er); } return executedActionStatus; }