我們正在與 Selenium webdriver 合作,為 Internet Explorer 11 進行 UI 測試。 在測試的 Web 應用程式中,會彈出幾個畫面。在一些測試中,我們最終得到了三個瀏覽器窗口,因此也得到了三個 Driver.WindowHandles。 為了從一個 WindowHandle 切換到另一個,我們期望 Driver.WindowHandles 會按照最舊的視窗在前、最新的視窗在後的方式進行排序。但事實並非如此:它完全是隨機的!
因為 windowhandle 是一個 GUID,所以我們最終建立了一個字典,其中 WindowHandle GUID 作為鍵,其值為瀏覽器視窗中載入的頁面類型的值。 但這也會導致在關閉視窗時維護字典。
對於這麼簡單的事情來說,似乎需要做很多工作。有沒有更好的解決方案?
你說得非常正確:
在一次討論中,Simon 明確提到:
因此,我們將引發
WebDriverWait
,然後每次開啟新分頁/視窗時收集視窗句柄,最後迭代視窗句柄和switchTo().window( newly_opened)
根據需要:Java:
控制台輸出:
其他
您可以在下列位置找到基於 python 的討論在新分頁中開啟 Web Selenium Python p>#