1. 针对系统弹出框:
(1)点击确认:driver.switchTo().alert().accept();
(2)点击取消:driver.switchTo().alert().dismiss();
2. 针对DIV弹出框:
直接查找元素,点击
3. 针对DIV嵌套有frame页面的弹出框
//先点击出弹出框
WebElement ele0 = driver.findElement(By.id("parentIframe"));
ele0.click();
//查找到frame,并跳转过去
WebElement ele1 = driver.findElement(By.id("layui-layer-iframe1"));
driver.switchTo().frame(ele1);
@Test
public void At()
{
/*
* 普通DIV弹出层
*/
driver.get("http://layer.layui.com/");
WebElement ele0 = driver.findElement(By.linkText("询问层"));
ele0.click();
WebElement ele1 = driver.findElement(By.linkText("奇葩"));
ele1.click();
WebElement ele2 = driver.findElement(By.linkText("知道了"));
ele2.click();
/*
*DIV嵌套FRAME
*/
WebElement ele3 = driver.findElement(By.id("parentIframe"));
ele3.click();
WebElement ele4 = driver.findElement(By.id("layui-layer-iframe1"));
driver.switchTo().frame(ele4);
WebElement ele5 = driver.findElement(By.id("new"));
ele5.click();
}
@Test
public void BaiduAt()
{
/*
* 系统弹出框
*/
driver.get("http://www.baidu.com/");
Actions action = new Actions(driver);
//鼠标停留出现弹出框(将弹出层代码激活)
action.moveToElement(driver.findElement(By.linkText("设置"))).release().perform();;
WebElement ele = driver.findElement(By.linkText("搜索设置"));
ele.click();
//系统弹出框
WebElement ele1 = driver.findElement(By.linkText("保存设置"));
ele1.click();
driver.switchTo().alert().accept();
}