簡體   English   中英

getWindowHandles 無法與最新的邊緣瀏覽器版本一起正常工作

[英]getWindowHandles not working properly with latest edge browser version

我正在開發一個僅支持 Edge 瀏覽器的應用程序。 登錄功能的工作原理如下 - 在登錄屏幕上,當提供用戶名和密碼值並單擊登錄按鈕時,將打開一個新的瀏覽器窗口,其中會彈出一個活動警報,提示“登錄成功”以及類似於下圖的“確定”按鈕 -
帶有警報彈出窗口的新窗口示例

此外,當這個新窗口打開時,舊的瀏覽器窗口變為空白。 當用戶單擊此 OK 按鈕(或點擊鍵盤上的 ENTER 按鈕)時,用戶主頁將加載到這個新的瀏覽器窗口本身,而舊窗口在整個會話期間保持黑色。

自動化-

為了自動化處理這個流程,我使用了 getWindowHandles() 方法,我在其中獲取這個新打開的窗口的句柄並接受警報。 這曾經在邊緣瀏覽器版本 105 之前正常工作。但是,當邊緣瀏覽器版本升級到 107 時,我開始面臨 getWindowHandles() 方法進入無限循環並最終測試超時的問題。 我還嘗試使用 Robot 類模擬 ENTER 按鈕,但沒有任何區別。 我嘗試使用與當前瀏覽器版本 107 匹配的邊緣驅動程序版本,但問題仍然存在。

有人可以讓我知道可以為此做什么嗎? 這些是更新的邊緣瀏覽器版本的任何已知問題嗎? 提前致謝..!!

這是為處理多個窗口而編寫的代碼,測試在 getWindowHandles() 方法本身超時。

for(String wh : driver.getWindowHandles()){
    driver.switchTo().window(wh);
}

添加Wait可能是這個問題的關鍵:

WebDriverWait wait = new WebDriverWait(driver,20);

順便說一句,我已經在 Edge 108(也使用 Edge Driver 108)中進行了測試。 沒有這樣的錯誤消息,一切正常。 你可以升級到108看看這個問題有沒有解決。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM