selenium高效应对Web页面元素刷新的实例讲解
作者:繁华陌路 时间:2022-12-04 08:17:33
当我们在页面上进行selenium.type()或者selenium.click()操作的时候,往往需要需要等待一个元素的出现,对于一般的网页,当我们进入一个新页面的时候,往往会使用selenium.waitForPageToLoad(WAITTIME);
对弹出窗口中的元素,往往写死要等待多少秒,其实可以使用如下更加通用高效的方法,自己写一个waitForElement()的方法:
Java代码
protected void waitForElement(String target) {
for (int second = 0;; second++) {
if (second >= 60) {
LOGGER.debug("Element:" + target
+ " can't be found after 60 seconds");
fail("find element timeout: " + target);
}
try {
if (selenium.isElementPresent(target))
break;
} catch (Exception e) {
LOGGER.debug("Element:" + target
+ " can't be found in 60 seconds");
assert (false);
}
pause(1000);
}
}
这段代码的功能是让我们最多等待某个元素60秒,直至它出现,否则就让test case失败,当我们要click或者type某个元素的时候,就先调用这个方法,下面是经过改进的click方法
Java代码
protected void click(String locator) {
waitForElement(locator);
selenium.click(locator);
}
从此,我们可以不管页面倒是是不是ajax实现,只要调用这样的click()方法,程序中就不需要出现Thread.sleep(10000)这样的代码了。
来源:https://blog.csdn.net/xlemonok/article/details/55047817
标签:selenium,刷新,页面
0
投稿
猜你喜欢
Spring一步到位精通拦截器
2022-01-03 18:31:50
Java版AI五子棋游戏
2023-07-11 07:33:24
SpringBoot 整合RabbitMq 自定义消息监听容器来实现消息批量处理
2021-10-11 22:36:07
java http token请求代码实例
2022-09-28 18:23:19
java打印正弦曲线示例
2022-05-04 00:48:56
Android13 加强Intent filters 的安全性
2022-06-17 03:15:55
java Map接口子类HashMap遍历与LinkedHashMap详解
2021-11-18 04:43:38
聊聊Redis的单线程模型
2022-02-21 09:20:42
Java 中的抽象介绍
2023-03-27 06:10:20
教你使用idea搭建ssm详细教程(Spring+Spring Mvc+Mybatis)
2021-09-23 12:37:42
Jmeter如何基于命令行运行jmx脚本
2023-11-01 14:16:24
Java遍历Properties所有元素的方法实例
2022-09-08 14:58:24
详解jeefast和Mybatis实现二级联动的问题
2022-11-10 05:10:15
android实现文件下载功能
2022-07-29 18:03:10
Java实现二叉堆、大顶堆和小顶堆
2022-08-20 18:39:33
java 8如何自定义收集器(collector)详解
2022-02-12 07:22:17
Spring Security 控制授权的方法
2023-08-06 19:21:08
源码解析JDK 1.8 中的 Map.merge()
2023-11-16 23:49:25
Java程序员面试中的多线程问题总结
2021-12-12 07:48:33
SpringBoot项目修改访问端口和访问路径的方法
2023-07-13 11:23:35