zoukankan      html  css  js  c++  java
  • 【亲测显式等待】Selenium:元素等待的4种方法

    Selenium:元素等待的4种方法

    1.使用Thread.sleep(),这是最笨的方法,但有时候也能用到而且很实用。
     
    2.隐式等待,隐性等待是指当要查找元素,而这个元素没有马上出现时,告诉WebDriver查询Dom一定时间。默认值是0,但是设置之后,这个时间将在WebDriver对象实例整个生命周期都起作用。
    WebDriver dr = new FirefoxDriver();           
    dr.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS); 
     
    3.使用javascript 
    WebElement element = driver.findElement(By.xpath(test));
    ((JavascriptExecutor)driver).executeScript("arguments[0].style.border="5px solid yellow"",element);  

    4.显式等待,推荐使用显示等待

    WebDriverWait wait = new WebDriverWait(dr, 10);

    wait.until(ExpectedConditions.visibilityOfElementLocated(By.id("kw")));   //等待直到元素可见

    蓝色可替换下面的6个等待类型

    显式等待使用ExpectedConditions类中自带方法, 可以进行显试等待的判断。 

    显式等待可以自定义等待的条件,用于更加复杂的页面等待条件

    (1)页面元素是否在页面上可用和可被单击:elementToBeClickable(By locator)

    (2)页面元素处于被选中状态:elementToBeSelected(WebElement element)

    (3)页面元素在页面中存在:presenceOfElementLocated(By locator)

    (4)在页面元素中是否包含特定的文本:textToBePresentInElement(By locator)

    (5)页面元素值:textToBePresentInElementValue(By locator, java.lang.String text)

    (6)标题 (title):titleContains(java.lang.String title)

    只有满足显式等待的条件满足,测试代码才会继续向后执行后续的测试逻辑

    如果超过设定的最大显式等待时间阈值, 这测试程序会抛出异常。 

    鱼会口渴吗?奶牛为什么总有奶?浣熊为什么喜欢洗刷刷?
  • 相关阅读:
    P3225 [HNOI2012]矿场搭建 题解
    CodeForces
    poj-3723
    codeforces -1214 E
    POJ-1741 树上分治--点分治(算法太奇妙了)
    洛谷p1345---最小割的奇妙运用
    洛谷p2149----两个终点和两个起点,最短路最大交汇长度!!!
    BerOS File Suggestion(字符串匹配map)
    Garbage Disposal(模拟垃圾装垃圾口袋)
    第八周组队赛
  • 原文地址:https://www.cnblogs.com/Susie-/p/10232991.html
Copyright © 2011-2022 走看看