zoukankan      html  css  js  c++  java
  • 对于点击后需要等待一段时间才会有的元素的操作

    这几天在写自动化的过程中遇见了需要先点击其他,然后需要等待一会的元素。昨天试了好几种方法都没成功。一开始使用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     }
  • 相关阅读:
    引擎优化笔记3
    IP/TCP/UDP checsum
    引擎优化笔记2
    Hive Map结构
    clickhouse概述
    Hive小文件合并
    hive计算引擎~Tez
    Hive优化~参数优化
    Hive分析窗口函数(三) CUME_DIST,PERCENT_RANK
    HIve实现数据抽样
  • 原文地址:https://www.cnblogs.com/twotigers/p/6229694.html
Copyright © 2011-2022 走看看