2017-02-22 11 views
1

リンクをクリックすると、新しいポップアップ子ウィンドウに切り替わります。しかし、そのリンクをクリックすると、親ウィンドウが閉じるので、私はそうすることができません。いつか私は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) 
 
      { 
 
      
 
    \t if(!windowHandle.equals(handle)) 
 
      { 
 
      driver.switchTo().window(windowHandle); 
 
      
 
      } 
 
    \t  
 
      }

答えて

1

あなたは初期化時に、次のコードを試すことができます。

DesiredCapabilities capabilities = DesiredCapabilities.internetExplorer(); 

capabilities.setCapability(CapabilityType.BROWSER_NAME, "IE"); 

capabilities.setCapability(InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS,true); 

capabilities.setCapability(InternetExplorerDriver.IE_ENSURE_CLEAN_SESSION, true); 

System.setProperty("webdriver.ie.driver","C://MavenTest//driver//IEDriverServer.exe"); 

driver = new InternetExplorerDriver(); 
関連する問題