zoukankan      html  css  js  c++  java
  • selenium中等待元素的加载

    在实际使用中,有时会出现一个元素还没有加载出来,导致无法获取,此时需要selenium处理来等待一段时间,此时处理方法有以下几种:

    1、最笨、最简单但是最不推荐的方式:

      Thread.sleep(times);

    2、采用 WebDriverWait类+ExpectedConditions接口,具体用法例子:    WebDriverWait wait = new WebDriverWait(driver,10);
             WebElement e1 = wait.until(ExpectedConditions.elementToBeClickable(By.xpath("//*[@id='site_nav_md']/ul/li[3]/a[1]/span")));

      含义:表示默认等待1-10s, 10内,若ExpectedConditions找到元素立刻返回,超过是10s报超时。

    3、隐形等待

      WebDriver driver=new FirefoxDriver();

      driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);

      说明:
        执行driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);后

        当要查找元素,而这个元素没有马上出现时,会告诉WebDriver查询Dom一定时间(设置了10s)。默认值是0, 设置之后,这个时间将在WebDriver对象实例整个生命周期都起作用

  • 相关阅读:
    mongodb配置主[Master]从[Slave]同步
    consul[安装/服务启用/注册].md
    Mysql用户管理相关
    GIT简易操作手册与分支管理策略
    Java 集合类高阶面试题
    List和Set相关面试题
    Map类面试题
    JDK相关基础面试题
    Java面向对象面试题
    MySQL in CentOS 7 安装部署
  • 原文地址:https://www.cnblogs.com/sylovezp/p/4178547.html
Copyright © 2011-2022 走看看