1、第一种是强制等待,也就是说,无论怎么样都要进行调用

简单代码如下:

from time import sleep

sleep(3)#强制等待3秒

2、第二种是隐形等待,隐形等待是设置了一个最长等待时间,如果在规定时间内网页加载完成,则执行下一步,否则一直等到时间截止,然后执行下一步。隐性等待对整个driver的周期都起作用,所以只要设置一次即可。

简单代码如下:

from selenium import webdriver
driver = webdriver.Firefox()

driver.implicitly_wait(2) # 隐性等待,最长等2秒

3、第三种是显性等待,WebDriverWait,配合该类的until()和until_not()方法,就能够根据判断条件而进行灵活地等待了。它主要的意思就是:程序每隔xx秒看一眼,如果条件成立了,则执行下一步,否则继续等待,直到超过设置的最长时间,然后抛出TimeoutException。

简单的代码如下:

from selenium.webdriver.support.wait import WebDriverWait

WebDriverWait(driver, 20, 0.5).until(XXXX)

WebDriverWait(driver, 20, 0.5).until_not(XXXX)