一、隐式等待
‘’’
driver = new AndroidDriver(remoteUrl, desiredCapabilities);
driver.manage().timeouts().implicitlyWait(15, TimeUnit.SECONDS);
‘’’
隐式等待:是在尝试发现某个元素的时候,如果没能立刻发现,就等待固定长度的时间。这个设置是15秒。一旦设置了隐式等待时间,它的作用范围就是Webdriver对象实例的整个生命周期
二、显示等待
‘’’
driver = new AndroidDriver(remoteUrl, desiredCapabilities);
WebDriverWait wait =new WebDriverWait(driver, 10);
wait.until(ExpectedConditions.presenceOfElementLocated(By.id(“kw”)));
‘’’
显示等待:定义了等待条件,只有该条件触发,才执行后续代码。
在0-5s中去定位id为“kw”的元素,WebDriverWait默认每500ms就调用一次ExpectedCondition直到定位成功或者时间截止,ExpectedCondition的返回值要么为true要么为不为空的对象,在规定时间内若没有定位成功元素,则until()会抛出org.openqa.selenium.TimeoutException 。
三、强制等待
‘’’
Thread.sleep(10);
‘’’
强制等待:指定了固定的等待时长,单位秒