WebDriver提供了两种类型的元素等待:显式等待和隐式等待。
显式等待:WebDriver等待某个条件成立则继续执行,否则在达到最大时长时抛出超时异常(TimeoutException)
WebDriverWait类是WebDriver提供的等待方法。在设置的时间内,默认每隔一段时间检测一次当前页面元素是否存在,如果超时设置时间仍检测不到,则抛出异常;格式如下:
WebDriverWait(driver,timeout,poll_frequency=0.5,ignored_exceptions=None)
driver:浏览器驱动
timeout:最长超时时间,默认以秒为单位
poll_frequency:检测的间隔(步长)时间,默认为0.5s
ignored_exceptions:超时后的异常信息,默认情况下抛出NoSuchElementException异常
WebDriverWait()一般与until()或until_not()方法配合使用;
until(method,message=''):调用该方法提供的驱动程序作为一个参数,直到返回值为True
until_not(method,message=''):调用该方法提供的驱动程序作为一个参数,直到返回值为False