因为 appnium 内部还是集成的selenium的 代码方法,所以以下的内容为appnium和selenium 通用的
在appnium的三大等待方式中,强制等待和隐式等待都很好理解也容易应用,但关于显示等待就不太易理解
在使用显示等待时,需要导入这个包(app应用的自动化脚本中也是应用这种方法)
from selenium.webdriver.support.ui import WebDriverWait
导包后调用它提供的WebDriverWait 的方法 这个方法一般与until 和until_not 方法连用
until 这方法的意思是直到找到这个元素才 不返回false 不然一直返回的都是false
它的参数是默认会传入操作驱动的这个对象 就是driver (在一定的时间内隔一段时间找一次,找到就返回这个元素对象,如果在一定时间内该元素还是不存在,就抛异常)
until_not 意思就是 直到 返回值为 False 常常用于查找是不是这样元素已经隐蔽了 隐蔽了就返回false (在一定的时间内隔一段时间找一次,找不到就返回fales, 如果在一定时间内该元素还是存在,就抛异常)
一般和if 连用 判断 if not until_not 的内容为真时,执行
wait = WebDriverWait(driver,10).until(lambda x:x.find_element_by_id("mine")) # 在这个 匿名函数中 x 就等于 driver
wait.click()
is_disappeared = WebDriverWait(driver, 30, 1, (ElementNotVisibleException)).
until_not(lambda x: x.find_element_by_id(“someId”).is_displayed())
找到的话则会返回这个元素对象 可以使用这个元素对象来进行你的操作
【其实显示等待也可以用来检测某上传,或下载功能是否已经完成,因为它的原理是,隔几秒就检测一次某元素】