web自動化之selenium(四)元素等待
阿新 • • 發佈:2022-03-17
隱式等待
說明
隱式等待是通過設定一定時長的等待,讓頁面上的某些元素能過加載出來,如果超過了設定的時間還沒有加載出來則丟擲(NoSuchelementException異常),預設單位為"秒"
#在建立驅動後新增,隱式等待會作用於全域性,相當於是一個全域性變數
driver.implicitly_wait(3) #等待指定時間
顯示等待
說明
顯示等待某個條件成立時才繼續執行,否則到達最大等待時間後,程式將丟擲(timeoutException)異常
from selenium.webdriver.support.ui import WebDeiverWait from selenium.webdriver.common.by import By from selenium.webdriver.support import expected_conditions as EC #3:等待的時間("秒"),0.5:每0.5秒進行查詢一次 element = WebDriverWait(driver, 3, 0.5).until(EC.element_to_be_clickable((By.LINK_TEXT, "登入"))) if element is not None: print("元素出現,可以點選了") #element_to_be_clickable:判斷預算是否可見並能否進行點選 #visibility_of_element_located:判斷元素是否可見
強制等待
import time
time.sleep(3) # 程式將強制等待3秒