元素等待作用
設置元素等待,可以更加靈活的制定等待定位元素的時間,從而增強腳本的健壯性,提高執行效率。
元素等待類型
- 強制等待:設置固定等待時間,使用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種方法也可用,建議在使用場景時盡量考慮適合的等待方法。
