找不到窗口(警告:服务器未提供任何堆栈跟踪信息)

时间:2017-02-22 08:31:44

标签: selenium selenium-webdriver webdriver

我想要做的是在点击链接时切换到新的弹出子窗口。但是当我点击该链接时父窗口关闭,我无法这样做。有时候当我使用Thread.sleep(时间)但它并不总是有效时我在线程" main"中得到异常异常org.openqa.selenium.NoSuchWindowException:找不到窗口(警告:服务器未提供任何堆栈跟踪信息)

它也无法使用隐式和显式等待。请建议一个总是有效的更好的解决方案。



JavascriptExecutor je3 = (JavascriptExecutor) driver;
       je3.executeScript("arguments[0].click();",driver.findElement(By.xpath("//a[@ardbn='Yes__c']/div")));
       //driver.findElement(By.xpath("//a[@ardbn='Yes__c']/div")).click();
       
       driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
       
       while(driver.getWindowHandles().size() != (size+1)){    }
       
       driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
              
       handles =  driver.getWindowHandles();
       
       for(String windowHandle  : handles)
           {
           
    	   if(!windowHandle.equals(handle))
           {
           driver.switchTo().window(windowHandle);
           
           }
    	   
           }




1 个答案:

答案 0 :(得分:1)

您可以在初始化期间尝试以下代码:

=default