(十七)alert confirm 和 prompt
乙醇 创建于 over 7 years 之前
最后更新: less than a minute 之前
阅读数: 215
alert confirm prompt
原生的javascript弹出框,各个浏览器的实现不一样,外观也不太一样。
这些弹出框会阻止页面上的所有操作,因此每次这些框弹出来以后,我们必须想办法让这些东西消失掉,否则脚本无法往下进行下去。
一般的处理方式
当alert弹出之后,我们可以通过类似下面的代码去处理alert
driver.switchTo().alert().dismiss();
driver.switchTo().alert().accept();
切换到alert/confirm/prompt之后,我们可以进行如下的后续动作
- accept(): 接受,点ok
- dismiss(): 点取消
- getText(): 拿到提示文本
- sendKeys( text ): 如果是prompt的话,可以用该方法输入一些内容
- authenticateAs( username, password ): 如果是basic authentication的话,可以通过该方法来输入用户名和密码
一劳永逸的处理方式
如果我们不在乎alert上提示的内容,只想页面上不弹出alert/confirm/prompt的话,可以通过js来覆盖这些方法的原生实现,从而达到禁用弹出框的效果,比如下面的代码就演示了如何禁用alert。
var banAlert = 'window.alert = function(msg){}'
driver.executeScript(banAlert);
这样在测试过程中,所有的alert都不会弹出。