无法切换到父窗口。两个窗口的代码采用不同的方法

时间:2015-07-02 10:08:15

标签: java selenium-webdriver

我有类似的东西

HtmlAutomationHelper.clickElementByXpath("//a/img");
        SynchronizationHelper.pause(5000);
        for (final String windowHandle : getWebDriver().getWindowHandles()) {
            HtmlAutomationHelper.switchToWindow(windowHandle);
        }

上面的代码将点击按钮并将切换到新窗口。在执行一些操作,即添加用户之后,它将点击添加按钮,该按钮将关闭子窗口。现在我想切换到父窗口并执行进一步的操作。但它没有表现。

我编写了以下代码来切换到父窗口。但似乎没有工作

HtmlAutomationHelper.clickElementByClassName("Button");

        SynchronizationHelper.pause(4000);
        //      final String old = getWebDriver().getWindowHandle();
        //      HtmlAutomationHelper.switchToWindow(old);

        for (final String s : getWebDriver().getWindowHandles())
            HtmlAutomationHelper.switchToWindow(s);

在此,它将点击按钮并切换到父窗口。因为我点击了      HtmlAutomationHelper.clickElementByClassName("按钮&#34); 子窗口将关闭,后续代码将切换到父窗口

请帮助解决此问题

1 个答案:

答案 0 :(得分:0)

Try this to switch to diff window handles and coming back to parent window

 String winHandleBefore = driver.getWindowHandle();
 for(String winHandle : driver.getWindowHandles())
  {
    driver.switchTo().window(winHandle);
  }
for (String handle1 : driver.getWindowHandles())
{ 
   driver.switchTo().window(handle1);
}
driver.switchTo().window(winHandleBefore);//switch to parent window
相关问题