appium+python自动化实践之查找元素的等待方式笔记
元素等待作用
设置元素等待,可以更加灵活的制定等待定位元素的时间,从而增强脚本的健壮性,提高执行效率。
元素等待类型
- 强制等待:设置固定等待时间,使用sleep()方法即可实现
from time import sleep
强制等待5秒
sleep(5)
- 隐式等待
隐式等待是针对全部元素设置的等待时间
driver.implicitly_wait(20)
- 显式等待
显示等待是针对某个元素来设置的等待时间
方法WebDriverWait格式参数如下
WebDriverWait(driver,timeout,poll_frequency=0.5,ignored_exceptions=None)
driver: webdriver实例对象
timeout: 最长超时时间
poll_frequency: 检测间隔时间,默认0.5s
ignored_exceptions: 超时后的异常信息,默认情况抛出NoSuchElementException异常
实例
from appium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
WebDriverWait(self.driver,10).until(lambda x:x.find_element_by_accessibility_id("新建评估"))
总结
appium 查找元素等待时间,比较常用的是显示等待方法(推荐),固定sleep时间和隐式等待这2种方法也可用,建议在使用场景时尽量考虑适合的等待方法。