设置元素等待,可以更加灵活的制定等待定位元素的时间,从而增强脚本的健壮性,提高执行效率。例如,有时候网络环境不好,导致某个页面元素加载很慢,此时若立即执行该元素操作会失败,程序会提示找不到该元素。Appium有三种元素等待方式:强制等待,隐式等待,显示等待。
(1)强制等待
设置固定的等待时间,使用sleep()方法实现
在Python中需要导入time这个库,等待时间以秒为单位
例如强制等待5秒,sleep(5)
(2)隐式等待
隐式等待是针对全部元素设置的等待时间
使用driver.implicitly_wait()方法实现
例如隐式等待10秒,driver.implicitly_wait(10)
(3)显示等待
显式等待是针对某个元素来设置的等待时间
使用WebDriverWait方法实现
在Python中需要导入库文件
from selenium.webdriver.support.wait import WebDriverWait
具体参数说明如下:
WebDriverWait(driver, timeout, poll_frequency=0.5, ignored_exceptions=None)
driver : WebDriver
timeout : 最长超时时间,默认以秒为单位
poll_frequency : 休眠时间的间隔时间,默认为0.5秒
ignored_exceptions : 超时后的异常信息,默认情况下抛NoSuchElem