一、time.sleep(seconds) 固定等待
import time
time.sleep(3) #等待3秒
time.sleep(seconds) seconds参数为整数,单位(秒)。
它是Python的time提供的休眠方法。
常用于短时间的等待,为了自动测试用例的执行效率固定等待的时间需要控制在3秒内。在用例中尽量少用固定等待。在爬虫应用中,为模拟用户操作浏览器,防止过快操作,可使用固定等待。
二、智能隐性的等待implicitly_wait(回应超时等待)
driver.implicitly_wait(time_to_wait)
回应超时等待,隐性的,设置后对应的是全局,如查找元素。
driver.implicitly_wait(10) # 设置全局隐性等待时间,单位秒
每次driver执行 找不到元素都会等待设置的时间,它的值设置的过长对用例执行效率有很大的影响,必须在执行完成之后还原回来。driver.implicitly_wait() 要慎之又慎的使用。
driver对它的默认值为0,driver.implicitly_wait(0)能还原隐性等待的设置时间。
三、智能显性等待WebDriverWait
from selenium.webdriver.support.wait import WebDriverWait
WebDriverWait(driver, timeout, poll_frequency=0.5, ignored_exceptions=None)
参数说明:
driver 为webdriver驱动
timeout 最长超时时间,单位(秒)