当我们在页面上进行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)这样的代码了。
以上这篇selenium高效应对Web页面元素刷新的实例讲解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持小牛知识库。
我想运行一个selenium测试,当单击旧页面中的按钮时,它是否导航到新页面。然后我想测试当新页面中的按钮被点击时,它是否导航回旧页面。 当我单击第一页上的按钮并检查新页面上的按钮元素是否出现时,测试工作正常。但是当我使用selenium点击第二页上的button元素,检查第一页上的button元素是否已经出现时,它没有找到第一页上的button元素,尽管我第一次使用相同的button元素去第二页
我是新的编码,我有以下问题,而自动与硒使用Java: 我正在测试SaaS解决方案,需要刷新页面,直到某个项目出现在我的收件箱中。我不能简单地使用findelement语句,因为该项只在一段时间后出现,并且只在页面刷新时出现。此外,所有收件箱项目在标题中都有一个唯一的序列号。我将这个唯一的数字保存为字符串变量,我想使用这个字符串变量来查看在刷新页面几次后收件箱项目是否出现。 查找唯一字符串的代码:
我正在使用Angular材质选项卡,并且我的所有元素在切换到不同的选项卡(具有克隆网格)后都变得陈旧。不是对我网格上的所有20个元素都这样做,而是有办法刷新页面上的所有元素,这样我的引用就不会陈旧? 我们正在努力获取网格上的价值。 陈旧元素引用:元素未附加到页面文档
使用的框架是cucumber。 HTML: 错误:org.openqa.selenium.timeoutexception:等待位于以下位置的元素出现100秒后超时:by.xpath:*[@id='header division']生成信息:版本:'2.32.0',修订:'6C40C18',时间:'2013-04-09 17:23:22'系统信息:os.name:'Windows XP',os.a
本文向大家介绍jQuery实现页面倒计时并刷新效果,包括了jQuery实现页面倒计时并刷新效果的使用技巧和注意事项,需要的朋友参考一下 下面一段代码给大家分享基于jquery实现的页面倒计时并刷新效果,代码如下所示: 以上所示是小编给大家介绍的jQuery实现页面倒计时并刷新效果,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!
本文向大家介绍实例讲解PHP页面静态化,包括了实例讲解PHP页面静态化的使用技巧和注意事项,需要的朋友参考一下 页面静态化,顾名思义是将动态的PHP转化为静态的Html,流程如下图 用户访问index.php,如果存在index.html且在有效期内,则直接输出index.html,否则去生成index.html file_put_contents()输出静态文件 ob_start()开启PHP缓