簡體   English   中英

處理硒中彈出的窗口

[英]Handle Window Pop Up in Selenium

我正在使用Selenium,現在有一個條件:

當我點擊網頁上的按鈕時,會彈出一個窗口。

現在,我必須單擊一個單選按鈕(即使我們發送TAB,也可以選擇兩個),然后單擊確定按鈕。 我在網上搜索並了解“ driver.getWindowHandle() ”。

但是我不知道如何處理新打開的窗口彈出窗口。 在這方面需要幫助。

為了進行切換,您可以使用增強型for循環:

for (String winHandle : objDriver.getWindowHandles()) {
    objDriver.switchTo().window(winHandle);
}

因此它將控制從一個驅動程序窗口切換到子窗口。

要與窗口上的元素進行交互,請嘗試使用您使用的任何工具查找元素,然后在切換到窗口后執行所需的操作。

要返回到父窗口,可以使用相同的循環或使用:

driver.switchTo().defaultContent();

在這篇文章中檢查我的答案,並閱讀注釋,以幫助您了解getWindowHandle()和getWindowHandles()之間的區別

Java:窗口處理期間,焦點不在彈出窗口上

我們在Windows / IE C#項目中使用AutoItX- https: //www.autoitscript.com/site/處理了這種情況:

AutoItX3 autoIt = new AutoItX3();
var handle = autoIt.WinWaitActive("[window title]", "", 20);
Assert.IsTrue(handle != 0", string.Format("Was not able to find: {0}", [window title]);
autoIt.Send("{ESCAPE}"); // tab may work as well for selection

彈出窗口是Windows窗口,而不是IE的一部分,因此WebDriver對此一無所知。 希望這可以幫助。

暫無
暫無

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

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