代码改变世界

Java Selenium - 几种对话框处理Alert\confirm\prompt

2017-07-29 23:22  鸣仁  阅读(2311)  评论(0编辑  收藏  举报

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();
prompt.sendKeys("ok!!!!")//输入值,如果支持输入的话 prompt.accept(); //关闭prompt

 

它们的本质是相同的,driver.switchTo().alert() 这句可以得到alert\confirm\prompt对话框的对象,然后运用其方法对它进行操作。对话框操作的主要方法有:
. getText() 得到它的文本值
. accept() 相当于点击它的"确认"
. dismiss() 相当于点击"取消"或者叉掉对话框
. sendKeys() 输入值,这个alert\confirm不能用,会报错。