2013-06-05 83 views
0

嗨,試圖在IE中執行switchTo(new Handle) webdriver的問題SWITCHTO()在IE硒webdriver的

的代碼,我使用後發現,在新窗口元素我現在面臨的問題後發現元素

WebDriver driver = new InternetExplorerDriver(); 

//some code 

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

driver.findElement(By.name("element1")).click(); //opens a new window 

//code to find the new window handle 

driver.switchTo().window(NewWindowHandle); //switch to new window 

String url = driver.getCurrentUrl(); //returns me the URL of the newly opened window 

driver.findElement(By.name("element2")).click(); //click on element in new window 

切換窗口後,findElement()無法找到新的元素,而新窗口的URL顯示正確。 我也執行了driver.getTitle();,這也給了我新打開的窗口的正確頁面標題。

我交叉驗證元素屬性,這是正確的。

任何人都可以幫助我嗎?

+0

是當前任何框架內的新窗口中的元素? – Hemanth

+0

你嘗試過等待嗎?可能是這個元素需要時間來加載。 – TDHM

+0

@HemChe:沒有元素不在框架內。 – preeth

回答

-1

試試這個,它的工作對我來說:

for(String NewWindowHandle:driver.getWindowHandles()) 
{ 
    driver.switchTo().window(NewWindowHandle); //switch to new window 
} 
+0

我不認爲這有助於OP;它們在switchTo()調用時沒有問題,它試圖在switchTo()之後定位元素,這會出錯。 –

+0

交換機工作正常。它在新窗口中搜索元素的問題是 – preeth