[英]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.