我試圖用Selenium/Python測試Web應用程序時遇到問題。基本上我不能測試彈出窗口的元素。Selenium:測試彈出式窗口
場景:我可以測試頁面的所有元素。但是當我點擊一個打開小彈出框的按鈕時,我無法測試彈出窗口中的元素。這就像彈出窗口不是焦點或活動。
我可以測試下一頁上的元素。例如,點擊一個按鈕,將我帶到下一頁,並且我可以使用「下一頁」上的元素。所以這個問題似乎是彈出式的。
我可以發佈代碼,但說實話它可能會在這個階段混淆。我可以在以後的文章中發佈代碼,感謝
我試圖用Selenium/Python測試Web應用程序時遇到問題。基本上我不能測試彈出窗口的元素。Selenium:測試彈出式窗口
場景:我可以測試頁面的所有元素。但是當我點擊一個打開小彈出框的按鈕時,我無法測試彈出窗口中的元素。這就像彈出窗口不是焦點或活動。
我可以測試下一頁上的元素。例如,點擊一個按鈕,將我帶到下一頁,並且我可以使用「下一頁」上的元素。所以這個問題似乎是彈出式的。
我可以發佈代碼,但說實話它可能會在這個階段混淆。我可以在以後的文章中發佈代碼,感謝
有一個叫物業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
對於硒RC API,您需要使用SelectWindow命令切換到彈出窗口。該窗口可以通過其名稱(如JavaScript window.open()
函數中指定)或其標題指定。要切換回主窗口,請使用SelectWindow(None)
。
感謝您的支持。我正在使用硒RC。這可以在RC中適應嗎? – user1303594
http://stackoverflow.com/questions/99045/handling-browser-pop-up-windows-with-selenium這似乎與RC有關。我沒有使用RC,所以我不知道。 – CosminO
不過,感謝網絡驅動程序解決方案,但會派上用場 – user1303594