首页 > 代码库 > 对于点击后需要等待一段时间才会有的元素的操作
对于点击后需要等待一段时间才会有的元素的操作
这几天在写自动化的过程中遇见了需要先点击其他,然后需要等待一会的元素。昨天试了好几种方法都没成功。一开始使用isdispaly()方法,但一直报错。
就是这个样子。后来我在sleep的下一行打印了i,发现其实在if的时候程序已经退出。好吧,改成先等待30s(隐式等待跟显式都使用了),还是不行。
好了 ,废话到此。上解方法。
首先,编写一个检查元素是否存在的函数。这个竟然存在我的工程中。真是前人种树后人乘凉。 或者参考这个网页。http://uniquepig.iteye.com/blog/1703553
public static boolean isElementExsit(WebDriver driver,By selector) { boolean result=false; try { driver.findElement(selector); result=true; } catch (Exception ex) { logger.error(ex.getMessage()); result=false; } return result; }
然后愉快的写一个for循环就好了。
1 for (int i = 0; i < 30; i++) { 2 String a="/html/body/div[1]//p"; 3 boolean flag=isElementExsit(driver, By.xpath(a)); 4 logger.log(""+flag);//打印是否发现元素 5 if (flag) { 6 String re = driver.findElement(By.xpath(a)).getText(); 7 break; 8 9 } 10 Sleeper.sleep(1); 11 }
对于点击后需要等待一段时间才会有的元素的操作
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。