UI自动化-三大等待

selenium或者appium时,等待web端加载页面的过程,都需要用到等待,而等待方式的设置是保证脚本稳定有效运行的一个非常重要的手段

下面介绍三大等待:

显示等待:WebDriverWait() 显示等待,同样也是 webdirver 提供的方法。在设置时间内,默认每隔一段时间检测一次当前页面元素是否存在,如果超过设置时间检测不到则抛出异常。默认检测频率为0.5s,默认抛出异常为:NoSuchElementException

例:

from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
driver.get("https://dgw.sit.sf-express.com/#/file/sensitiveFile")
#设置显示等待,等待CAS登录页面加载出来,记住presence_of_element_located只能传参2个,所以第二个参数传元组(By.ID,"loginWrap")
传参数
wait=WebDriverWait(driver,20,0.5)
wait.until(EC.presence_of_element_located((By.ID,"loginWrap")))


隐式等待:implicitly_wait()比sleep()更加智能,可以在一个时间范围内等待,相当于一个全局变量,只需设置一次,加载各个元素以及页面就会智能等待N秒
例:

def setUp(self):

    self.driver = webdriver.Chrome()
self.driver.get("https://dgw.sit.sf-express.com/#/file/sensitiveFile")
self.driver.implicitly_wait(10)
self.driver.maximize_window()
self.driver.maximize_window()

强制等待:sleep(), 设置固定休眠时间多少秒,python中,导入包:import time,即可使用,例:sleep(5)

posted @ 2021-12-02 14:43  xiaowangzi3668  阅读(155)  评论(0)    收藏  举报