Java+Selenium3自动化入门5---如何操作Alert弹框和div盒子模拟的弹框
说到这里我们首先要先说下Alert是如何来的,一般是用来确认某些操作、输入简单的text或用户名、密码等,根据浏览器的不同,弹出框的样式也不一样,在firebug中是无法获取到该框的元素的,也就是说alert是不属于网页DOM树的。直接看代码!<html>
<head lang="en">
<meta charset="UTF-8">
<title>帅气的老王</title>
<script language="JavaScript">
alert("哈哈,我又变帅了")
</script>
<script type="text/javascript">
function getInnerHTML(){
alert( document.getElementById("tr1").innerHTML);
}
</script>
</head>
<body>
<!--
<script src = "test.js"></script>
-->
<input type="button" value="按钮" onclick="alert('hello')"/>
<table border="1">
<tr id="tr1">
<th>Firstname</th>
<th>Lastname</th>
</tr>
<tr id="tr2">
<td>Peter</td>
<td>Griffin</td>
</tr>
</table>
<br />
<input type="button" onclick="getInnerHTML()"
value="Alert innerHTML of table row" />
</body>
</html>
上面的代码大家可以看到在打开的时候,最先弹出的是这样的一个弹框,这就是典型的alert弹窗,当我们不点击确定的时候,这个页面是不会加载下一步的,所以我们会看到页面并没有加载完成,左上角的也是一直显示在加载,右下角会一直显示:正在传输来自localhost的数据。
对于Alert,selenium提供了专门的方法
/*
* .accept() 点击alert弹窗上的确定按钮
* .dismiss() 点击alert弹窗上的取消按钮
* .getText() 获取alert上的文字信息
* .sendKeys() 在弹窗上输入文字等信息
*/
下面我们就看看用代码如何去操作alert弹窗的
package com.Lion.D1;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
public class AlertAccept {
public static void main(String[] args) throws Exception {
WebDriver driver = new FirefoxDriver();
driver.manage().window().maximize();
String PhotoUrl = "http://localhost:63342/untitled3/src/lions.html";
driver.get(PhotoUrl);
Thread.sleep(2000);
//swithTo()切换到alert并.getText()获取alert的文本内容
System.out.println(driver.switchTo().alert().getText());
//处理alert
driver.switchTo().alert().accept();
System.out.println("弹窗已关闭");
}
}
控制台输出结果:哈哈,我又变帅了
弹窗已关闭
第二个就是div盒子模拟的弹框,比如说百度的登录页面
对于这种弹窗,用alert是解决不了的,因为它是一个div盒子,可以看成是一个新的窗口。
支持分享
页:
[1]