2012-05-14 139 views
5

我試圖用Selenium/Python測試Web應用程序時遇到問題。基本上我不能測試彈出窗口的元素。Selenium:測試彈出式窗口

場景:我可以測試頁面的所有元素。但是當我點擊一個打開小彈出框的按鈕時,我無法測試彈出窗口中的元素。這就像彈出窗口不是焦點或活動。

我可以測試下一頁上的元素。例如,點擊一個按鈕,將我帶到下一頁,並且我可以使用「下一頁」上的元素。所以這個問題似乎是彈出式的。

我可以發佈代碼,但說實話它可能會在這個階段混淆。我可以在以後的文章中發佈代碼,感謝

回答

6

有一個叫物業switch_to

問:如何處理彈出窗口?

答:WebDriver提供了處理多個窗口的能力。這是通過使用WebDriver.switch_to.window(knownName)方法切換到具有已知名稱的窗口完成的。

如果名稱未知,可以使用WebDriver.window_handles獲取已知窗口的列表。

您可以將句柄傳遞給switch_to.window(handleName)

比如我以前driverName.switchTo.window(driverName.getWindowHandle())得到的,我不想去找名稱彈出窗口的保持。

其他參考: http://code.google.com/p/selenium/wiki/FrequentlyAskedQuestions

+0

感謝您的支持。我正在使用硒RC。這可以在RC中適應嗎? – user1303594

+0

http://stackoverflow.com/questions/99045/handling-browser-pop-up-windows-with-selenium這似乎與RC有關。我沒有使用RC,所以我不知道。 – CosminO

+0

不過,感謝網絡驅動程序解決方案,但會派上用場 – user1303594

0

對於硒RC API,您需要使用SelectWindow命令切換到彈出窗口。該窗口可以通過其名稱(如JavaScript window.open()函數中指定)或其標題指定。要切換回主窗口,請使用SelectWindow(None)