2017-02-28 87 views
-1

我試圖自動化一個場景,其中當我單擊某個鏈接時,另一個選項卡打開並顯示詳細信息。Selenium無法在另一個選項卡中檢測UI元素

問題1:我是否必須將焦點專門設置到第二個選項卡或硒自動找到第二個選項卡中的元素?

我使用下面的代碼將焦點設置到第2個選項卡:

String currentWindow = driver.getWindowHandle(); 
driver.switchTo().window(currentWindow); 

問題:我收到一個錯誤,硒無法找到指定的元素。

難道你們建議我我做錯了什麼,以及切換到第二個選項卡的最佳方式。

+0

可能重複[開關選項卡使用Selenium WebDriver與Java](http://stackoverflow.com/questions/12729265/開關突片-使用硒-的webdriver與 - 爪哇) –

回答

1

實際上,您將焦點設置在第一個選項卡上,而不是第二個選項卡上。你需要做這樣的事情

String currentWindow = driver.getWindowHandle(); 

// open the new tab here 

for (String handle : driver.getWindowHandles()) { 
    if (!handle.equals(currentWindow)) { 
     driver.switchTo().window(handle); 
    } 
} 

而且回答你的問題是肯定的,你必須告訴driver設置其焦點的新標籤。

0

您可以獲取所有窗口句柄作爲處理程序=驅動程序。 GetWindowHandles()將返回所有的處理程序字符串。然後使用索引切換到適當的句柄使用driver.switchto()。窗口(處理程序[1])

相關問題