selenium
js中的三种弹框分别是alert(),confirm(),prompt()
1、alert():
①写在<script>标签中
②括号中的内容为字符串或者整型
③点击确认即可关闭,无返回值
2、confirm():
①写在<script>标签中
②括号中的内容为字符串和整型
③点击确认返回true,点击取消返回false
3、prompt(?,?):
①写在<script>标签中
②第一个问是显示的文本,第二个问是输入框中的默认值(可不写)
③点击确认返回输入框中的内容,取消返回null
Java Selenium - 几种对话框处理Alert\confirm\prompt
1. Alert , 先用常规办法定位到能触发alert的按钮 , 然后
Alert alert = driver.switchTo().alert();
alert.accept();
如果alert框确认后,还好连续弹出alert框,继续同样操作,注意延时。。。不然可能因为太快,出错,坑。
Alert alert = driver.switchTo().alert();
alert.accept();
Thread.sleep(1000);
alert = driver.switchTo().alert();
alert.accept();
2. Confirm
Alert confirm = driver.switchTo().alert();
String text1 = confirm.getText(); //获取confirm上的文本
System.out.println(text1);
confirm.accept(); //关闭confirm
3. prompt
Alert prompt = driver.switchTo().alert();<br>prompt.sendKeys("ok!!!!")//输入值,如果支持输入的话
prompt.accept(); //关闭prompt
它们的本质是相同的,driver.switchTo().alert() 这句可以得到alert\confirm\prompt对话框的对象,然后运用其方法对它进行操作。对话框操作的主要方法有:
. getText() 得到它的文本值
. accept() 相当于点击它的"确认"
. dismiss() 相当于点击"取消"或者叉掉对话框
. sendKeys() 输入值,这个alert\confirm不能用,会报错。