selenium 等待时间设置

引自:https://blog.csdn.net/wangsy0202/article/details/77867467

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")));

显式等待 使用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)

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

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

WebDriverWait wait = new WebDriverWait(driver,5); 

wait.until(ExpectedConditions.presenceOfElementLocated(By.cssSelector(""))); 

其他:引自:https://blog.csdn.net/slowsnowscar/article/details/52550190

<html lang="en">
 <head>
 <title>your favorite fruits</title>
 </head>
 <body>
    <p>select ur perfer fruit</p>
    <br>
    <select name='fruit'>
        <option id='peach' value='taozi'>peach</option>
        <option id='watermelon' value='xigua'>watermelon</option>
    </select>
    <br>
    <input type='checkbox'>Do you like fruits?</input>
    <br><br>
    <input type=text" id="text" value="Watermelons are so sweet this year!">This is Input box</input>
 </body>
</html>

猜你喜欢

转载自blog.csdn.net/vicky_lov/article/details/83016315