簡體   English   中英

如何處理硒Webdriver中的簡單HTML彈出窗口?

[英]How to handle a pop up which is a simple HTML pop up in selenium webdriver?

如何處理彈出窗口,這是Selenium Webdriver中的簡單HTML彈出窗口。 它是用HTML編寫的彈出窗口。

您是否嘗試過使用

driver.switchTo().alert().accept();

如果彈出式窗口是模態的,則必須執行上一個答案所建議的操作,但是如果彈出式窗口只是HTML,則應該在彈出式代碼內找到一個WebElement並照常工作,請看示例:

driver.findElement(By.id(popupid))

請注意並管理隱式超時,以確保查找將一直等到彈出窗口開始。

使用下面給定的示例代碼,它將起作用。

public String parentWindowHandler = null,subWindowHandler=null;
    Set<String> handles = driver.getWindowHandles(); // get all window handles
    Iterator<String> iterator = handles.iterator();
    while(iterator.hasNext()){
    subWindowHandler = iterator.next();
    driver.switchTo().window(subWindowHandler);//select new popup
    }


    /*
    your code here for script

    */

    driver.switchTo().window(parentWindowHandler);//return to main window

首先,您應該找到唯一的DOM屬性,因為有時對於HTML彈出窗口和父頁面來說,相同的元素屬性(例如id和class)相同。

因此,如果它是唯一的,那么您可以簡單地執行drive.findelements(By).click()或sendkeys()等,否則您應被設為唯一的XPath或通過建立索引,必須單擊或執行其他操作。

SwitchTo使用是否在iframe中,否則將不使用。

暫無
暫無

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

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