合肥人真帅 发表于 2017-6-9 17:54:19

java+selenium判断页面元素是否存在,设置判断时间

本帖最后由 合肥人真帅 于 2017-6-10 17:51 编辑

      public void test() {
                if(isElementPresent(By.id("myTab"))){
                     driver.findElement(By.id("myTab")).click();
                }else{
                              System.out.println("没有找到对象");
                        }
      }

      private boolean isElementPresent(By by) {
                try {
                        driver.findElement(by);
                        return true;
                } catch (NoSuchElementException e) {
                        return false;
                }
      }


寻找页面上ID为“myTab”的元素,如果找到,则点击;如果找不到,则输出“没有找到对象”。这个程序可以正常执行。

但是反应速度太慢了。如果元素存在,程序可以立刻执行。如果元素不存在,程序会一直寻找元素,若10秒未找到,才会执行else里面的内容

已知页面完全加载,需要2秒。

现在我想让程序在找不到元素的情况下,2秒就执行else里面的内容,而不是10秒。怎么办?



lijuntao 发表于 2017-6-12 14:25:12

在isElementPresent方法加一个判断给两秒时间识别对象driver.manage().timeouts().implicitlyWait(2, TimeUnit.SECONDS);

houyan200722 发表于 2017-6-12 11:40:41

刚学java,围观,mark!

合肥人真帅 发表于 2017-6-15 14:30:29

lijuntao 发表于 2017-6-12 14:25
在isElementPresent方法加一个判断给两秒时间识别对象driver.manage().timeouts().implicitlyWait(2, TimeU ...

好了,666
页: [1]
查看完整版本: java+selenium判断页面元素是否存在,设置判断时间