• 操作页面元素等待时间


    WebDriver在操作页面元素等待时间,提供两种等待方式:一个为显示等待,另一个为隐式等待

       区别:1)显示等待:明确告诉webDriver按照特定的条件进行等待,条件未达到,,就一直等待。这在等待某个元素需要非常长的时间时非常有效

               2) 隐式等待:告诉webDriver一个最大的超时时间,如果等待条件在超时以前就满足,就立刻执行后续操作而无须等待超时达到

    package test;
    
    import java.util.concurrent.TimeUnit;
    
    import org.openqa.selenium.By;
    import org.openqa.selenium.WebDriver;
    import org.openqa.selenium.WebElement;
    import org.openqa.selenium.support.ui.ExpectedCondition;
    import org.openqa.selenium.support.ui.WebDriverWait;
    
    import common.StartFireFox;
    
    public class TestWait {
     
        public static void main(String[] args) {
            WebDriver driver = StartFireFox.start();
            driver.get("http://www.baidu.com");
         
            WebElement login = driver.findElement(By.id("su"));
            WebElement kw = driver.findElement(By.id("kw"));
            kw.sendKeys("selenium");
            login.click();
            //Explicit wait 
            (new WebDriverWait(driver, 10)).until(new ExpectedCondition<Boolean>(){
                public Boolean apply(WebDriver  d){
                    return d.getTitle().toLowerCase().startsWith("selenium");
                }
            });
            System.out.println("Page title is: "+driver.getTitle());
            driver.navigate().back();
            //Implicit wait
            driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
            driver.findElement(By.id("kw")).click();
         
            
            driver.quit();
            System.out.println("close firefox browser");
        }
    }
  • 相关阅读:
    IM,游戏服务端 tcp 框架整理
    IronPython初体验和实战集合等类型转换和类型匹配
    C# 控件包
    ORM框架系列
    C# Excel或表格插件
    vue之修饰符
    vue之单表输入绑定
    vue之计算属性和侦听器
    vue之指令系统
    vue之用法
  • 原文地址:https://www.cnblogs.com/claudia/p/5311678.html
Copyright © 2020-2023  润新知