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)