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
  • asp之家 软件编程 m.aspxhome.com