2016-04-28 55 views
1

私は以下のエラーに直面しています!!Selenium WebDriverの子から新しい親ウィンドウに切り替えるJava

私はSelenium WebDriverを使用しています。親から子ウインドウに切り替え、子ウインドウのリンクをクリックすると、新しいURLが開かれた先の親ウインドウにリダイレクトされます。

同じ前の親ウィンドウで新しい親URLに切り替える必要がありますが、そうすることはできません。

ご了承ください。

以下はコードです。 driver.findElement(By.id( "href_billing_ & _reporting"))。クリック();

driver.findElement(By.linkText("Go to Billing Summary")).click(); 

    driver.findElement(By.linkText("01 Mar 2016")).click(); 

    Thread.sleep(5000); 

    driver.findElement(By.linkText("AMS TAX")).click(); 

    driver.findElement(By.linkText("00842")).click(); 

    String Parenthandel = driver.getWindowHandle(); 

    for(String Child : driver.getWindowHandles()){ 

     driver.switchTo().window(Child); 
    } 

    driver.switchTo().frame("modalSubWindow"); 

     driver.findElement(By.linkText("View More Vehicle Details>>")).click(); 
     driver.switchTo().window(Parenthandel); 

私はdefaultcontent()メソッドを試してみましたが、幸運はありませんでした。

+0

エラーは何ですか。 – Akbar

+0

ウィンドウが見つかりません – user6260412

答えて

0

親ウィンドウが新しいURLにナビゲートしているため、seleniumは親ウィンドウハンドルをリフレッシュしています。

このソリューションをお試しください。

  1. 保存子ウィンドウは
  2. を扱うすべてのウィンドウがハンドルを通して「もっと見るビークル」リンク
  3. ループをクリックした後、再び処理し、子供と等しくないウィンドウに切り替えましょう。
  4. コレクション(セット)を使用して
+0

スニペットを入力してください – user6260412

0

、利用可能なすべての開いているウィンドウの内容を保存することができます。..

driver.findElement(By.linkText() "請求内容に行く"))(クリックしてください。

driver.findElement(By.linkText("01 Mar 2016")).click(); 

    Thread.sleep(5000); 

    driver.findElement(By.linkText("AMS TAX")).click(); 

    driver.findElement(By.linkText("00842")).click(); 

    Set<String> instancewindow= driver.getWindowHandles(); 
     Iterator<String> it = instancewindow.iterator(); 
     String parent =it.next(); 
     String child = it.next(); 
     driver.switchTo().window(child); 

    driver.switchTo().frame("modalSubWindow"); 

     driver.findElement(By.linkText("View More Vehicle Details>>")).click(); 
     driver.switchTo().window(parent); 
関連する問題