繁体   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