1、固定时间等待
每次需要等待时,都需要重新写
import time time.sleep(3)
2、智能等待
智能等待可以自动判断需要等多久再执行下一行代码。
2.1、隐式等待
隐式等待只需要在声明driver之后,写一次,影响后面所有的代码,一般等待5秒,括号中的5代表的是最大等待时间
driver.implicitly_wait(5)
缺点:有些特殊情况,隐式等待不起作用。
1、处理弹出框时,隐式等待不起作用。
隐式等待判断的是页面的加载,弹出框出来后,页面没有刷新过,所以隐式等待不起作用。
2.2、显示等待
每次需要等待时都需要主动说一次
from selenium.webdriver.support import expected_conditions from selenium.webdriver.support.wait import WebDriverWait # 显示等待 WebDriverWait(driver, 30, 0.5).until(expected_conditions.alert_is_present())