2012-07-23 18 views

答えて

19

あなたはウィンドウを切り替えるにはURLまたはいくつかの他の基準を使用することができ、ウィンドウのタイトル

private void handleMultipleWindows(String windowTitle) { 
      Set<String> windows = driver.getWindowHandles(); 

      for (String window : windows) { 
       driver.switchTo().window(window); 
       if (driver.getTitle().contains(windowTitle)) { 
        return; 
       } 
      } 
     } 

Similaryに基づいてウィンドウを切り替えるには、次のコードを使用することができます。

+1

ありがとう、それは私のために働いた。 :) –

+0

私も!これを行う非常に良い方法 – sircapsalot

2

私はmainWindowHandleにもスイッチバックする範囲を追加しました。

異なるタイトルのウィンドウをハンドリングしている場合は、以下の機能を試してみてください。

private String mainWindowsHandle; // Stores current window handle 
public static boolean swithToWindow(WebDriver driver,String title){ 
    mainWindowsHandle = driver.getWindowHandle(); 
    Set<String> handles = driver.getWindowHandles(); // Gets all the available windows 
    for(String handle : handles) 
    { 
    driver.switchTo().window(handle); // switching back to each window in loop 
    if(driver.getTitle().equals(title)) // Compare title and if title matches stop loop and return true 
    return true; // We switched to window, so stop the loop and come out of funcation with positive response 
    } 
    driver.switchTo().window(mainWindowsHandle); // Switch back to original window handle 
    return false; // Return false as failed to find window with given title. 
} 
関連する問題