2016-05-06 81 views
-1

我無法導航到新窗口,因爲它顯示父窗口和子窗口的窗口。我使用這個代碼。問題是什麼?爲什麼我無法使用Selenium Webdriver導航到新窗口?

String parent_Window = driver.getWindowHandle(); 
Set<String> handles = driver.getWindowHandles(); 
for(String window_Handle : handles){ 
    if(!window_Handle.equals(parent_Window)){ 
     driver.switchTo().window(window_Handle); 
     //<!--Perform operation here for new window--> 

    driver.switchTo().window(parent_Window); 
     } 
    } 
+0

是手柄的大小是兩個手段它收集了兩個窗口句柄? –

回答

0

使用下面的代碼:

// Store the current window handle 
String winHandleBefore = driver.getWindowHandle(); 

// Switch to new window opened 
for(String winHandle : driver.getWindowHandles()){ 
driver.switchTo().window(winHandle); 
} 

// Perform the actions on new window 

// Close the new window, if that window no more required 
driver.close(); 

// Switch back to original browser (first window) 
driver.switchTo().window(winHandleBefore); 
1

也許,你試圖打開一個新窗口之前切換。如果是這種情況,請首先獲取主窗口句柄,然後嘗試打開一個新窗口並切換到新窗口(或選項卡)。

我希望這會有所幫助。

相關問題