首页 > 其他 > 详细

对于点击后需要等待一段时间才会有的元素的操作

时间:2016-12-28 17:14:36      阅读:236      评论:0      收藏:0      [点我收藏+]

这几天在写自动化的过程中遇见了需要先点击其他,然后需要等待一会的元素。昨天试了好几种方法都没成功。一开始使用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     }

 

对于点击后需要等待一段时间才会有的元素的操作

原文:http://www.cnblogs.com/ywhyme/p/6229694.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!