1. 程式人生 > 其它 >web自動化之selenium(四)元素等待

web自動化之selenium(四)元素等待

隱式等待

說明

隱式等待是通過設定一定時長的等待,讓頁面上的某些元素能過加載出來,如果超過了設定的時間還沒有加載出來則丟擲(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秒