webdriver 获取alert 提示no alert is active

时间:2022-11-03 12:13:27

http://hi.baidu.com/janice515/item/bce536bb136e8441bb0e120f

摘上面:

一般正常情况下会报错,如 no alert is  active  目前未找到alert

如果没有出现alert

1、页面未加载完成,alert没加载出来

2、页面加载完,但获取不到alert

针对第一种情况:

解决的办法可能是:

a、加上页面加载时间

针对第二种情况:

解决的办法可能是:

a、代码写的是否正确

b、iframe是否已跳出

建议大家写一个公共方法,来进行判断alert是否存在;

目前webdriver已经可以不用js的方式来调取,可以使用本身封装好的方法;

如下所示

public static Alert waitForAlert(WebDriver driver, int seconds)

{

    Wait<<b
style="color: black; background-color: rgb(255, 102,
255);">WebDriver
> wait = new WebDriverWait(driver, seconds);

return wait.until(new AlertAvailable());

}

private static class AlertAvailable implements ExpectedCondition<<b
style="color: black; background-color: rgb(160, 255,
255);">Alert>
    {

private Alert alert = null;

       @Override

public Alert apply(WebDriver driver) {

Alert result = null;

if (null == alert)

{

alert = driver.switchTo().alert();

}

try {

alert.getText();

result = alert;

} catch (NullPointerException npe)

{

logger.error(npe);

}

return result;

} }

commonJava.waitForAlert(driver,10).accept(); 调用这个方法就可以了

当然我的问题也就解决了~

webdriver 获取alert 提示no alert is active的更多相关文章

  1. Vue axios异步获取后台数据alert提示undefined

    记录一个小问题,关于分页查询套餐 前台通过axios异步请求获取后台数据alert弹出数据提示undefined 下面有三个bean PageResult /** * 分页结果封装对象 */ publ ...

  2. 利用selenium webdriver点击alert提示框

    在进行元素定位时常常遇到这样的alert框: 那么该如何定位并点击确定或取消按钮呢?*上找到了这个问题的答案. OK, Show you the code: driver.fi ...

  3. 修改js confirm alert 提示框文字的简单实例

    修改js confirm alert 提示框文字的简单实例: <!DOCTYPE html> <html> <head lang="en"> & ...

  4. jquery仿alert提示框、confirm确认对话框、prompt带输入的提示框插件&lbrack;附实例演示&rsqb;

    jquery仿alert提示框.confirm确认对话框.prompt带输入的提示框插件实例演示 第一步:引入所需要的jquery插件文件: http://www.angelweb.cn/Inc/eg ...

  5. 经验总结:WebBrowser自动点击弹出提示框alert、弹出对话框confirm、屏蔽弹出框、屏蔽弹出脚本错误的解决办法

    经验总结:WebBrowser自动点击弹出提示框alert.弹出对话框confirm.屏蔽弹出框.屏蔽弹出脚本错误的解决办法 网上有好多解决方法,可是不一定好使,本人经过多次试验,针对WebBrows ...

  6. 纯手画WinForm的Alert提示弹出框

    纯手画WinForm的Alert弹框 一.窗体设置 设置以下属性: 属性名 属性值 说明 AutoScaleMode None 确定屏幕分辨率或字体更改时窗体如何缩放 BackColor 103, 1 ...

  7. webdriver 获取页面response

    在selenium webdriver实现自动化抓取数据过程中,发现无法从webdriver获取页面response 查来查去最终在 * 上找到了这一篇文章 文章中说:webd ...

  8. 运行git提示xcrun&colon; error&colon; invalid active developer path错误

    运行git提示xcrun: error: invalid active developer path错误 是xcode的原因 运行如下命令解决: xcode-select --install

  9. JS 提示框 alert&lpar;&rpar;、confirm&lpar;&rpar;、prompt&lpar;&rpar;的三者的区别

    使用消息框 使用警告.提示和确认 可以使用警告.确认和提示消息框来获得用户的输入.这些消息框是 window 对象的接口方法.由于 window 对象位于对象层次的顶层,因此实际应用中不必使用这些消息 ...

随机推荐

  1. abstract class和interface的区别

    1. 引言 2. 概念引入 ●什么是接口? 接口是包含一组虚方法的抽象类型,其中每一种方法都有其名称.参数和返回值.接口方法不能包含任何实现,CLR允许接口可以包含事件.属性.索引 器.静态方法.静态 ...

  2. executeBatch&lpar;&rpar;相关操作汇总

    环境:oracle使用PreparedStatement的executeBatch方法,如果DML操作成功,返回值[-2,-2,...]an array of update counts contai ...

  3. ABP&colon;在多语句事务内不允许使用 CREATE DATABASE 语句

    一.问题 使用ef codefirst开发,无法创建数据库的问题,如下提示 Server Error in '/' Application. 在多语句事务内不允许使用 CREATE DATABASE ...

  4. ASP&period;NET Core 防止跨站请求伪造(XSRF&sol;CSRF)攻击

    什么是反伪造攻击? 跨站点请求伪造(也称为XSRF或CSRF,发音为see-surf)是对Web托管应用程序的攻击,因为恶意网站可能会影响客户端浏览器和浏览器信任网站之间的交互.这种攻击是完全有可能的 ...

  5. rancher的微服务运维

    1.安装rancher: rancher官网:https://rancher.com rancher中文官网:https://www.cnrancher.com rancher 2.0 文档:http ...

  6. cf1144G 将串分解成单调递增和递减子串(贪心)

    这算哪门子dp.. 具体做法就是贪心,建立两个vector存递增序列递减序列,操作过程中a可以合法地匀一个给b 就是判断第i个数放在递增序列里还是放在递减序列里,需要根据后面的数来进行决策 #incl ...

  7. Python集合&lpar;set&rpar;

    Python中的集合同数学中的集合概念类似,也是用于保存不重复的元素.他有可变集合(set),和不可变集合(frozenset);可变集合(set)是无序的可变的. 创建集合 直接使用{}创建 set ...

  8. sql cast,convert,QUOTENAME,exec 函数学习记录

    语法 使用 CAST: CAST ( expression AS data_type ) 使用 CONVERT: CONVERT (data_type[(length)], expression [, ...

  9. php7&period;27&colon; export excel from mysql

    https://*.com/questions/15699301/export-mysql-data-to-excel-in-php https://github.com/PH ...

  10. HBase(八)HBase的协处理器

    一.协处理器简介 1. 起源 Hbase 作为列族数据库最经常被人诟病的特性包括:无法轻易建立“二级索引”,难以执 行求和.计数.排序等操作.比如,在旧版本的(<0.92)Hbase 中,统计数 ...