是否要在子窗口处理程序上应用显式等待'invisibilityOfElementLocated'?

时间:2018-07-31 14:28:23

标签: selenium-webdriver

是否要在子窗口处理程序上应用显式等待'invisibilityOfElementLocated'?。

使用下面的代码,我能够在Windows处理程序之间进行迭代。

String parentWindow = driver.getWindowHandle();
Set<String> handles =  driver.getWindowHandles();
for(String windowHandle  : handles)  {
if(!windowHandle.equals(parentWindow))    {
     driver.switchTo().window(windowHandle);

     // <!--want wait till child window get closed

    driver.switchTo().window(parentWindow); //cntrl to parent window
    }
   }

我要在子窗口上应用显式等待,直到子窗口关闭。

感谢您的帮助。

谢谢, 维品

1 个答案:

答案 0 :(得分:0)

我必须解决的想法是,在新窗口中搜索某些内容并等待隐身(当对象消失时)。

我通常使用这个:

new FluentWait<>(driver).withTimeout(20, TimeUnit.SECONDS)
            .pollingEvery(1, TimeUnit.SECONDS).ignoring(NoSuchElementException.class).until(ExpectedConditions.invisibilityOfElementLocated(By.xpath(xpath)));

位置:

  1. driver是您的驱动程序。
  2. xpath新窗口中的内容