python的三種等待方式及優(yōu)缺點小結(jié)
一、調(diào)用方式
1.強制等待
調(diào)用time模塊,使用time.sleep(n),強制等待n秒
2.隱式等待
implicitly_wait(n),設置隱式等待最大時間n秒,等待元素加載完成,如果到了時間元素沒有加載出,就拋出一個NoSuchElementException的錯誤。
3.顯式等待
調(diào)用WebDriverWait()類,顯性等待是對指定元素進行等待的一種等待方式。通過設置最大等待時間,檢查頻率對頁面的元素來進行等待,一旦找到元素,則停止等待,進入后續(xù)步驟,否則繼續(xù)等待,直到超過設置的最長時間,然后拋出TimeoutException異常。
from selenium import webdriver
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
driver = webdriver.Chrome()
driver.get('https://www.baidu.com')
# 設置瀏覽器:driver 等待時間:?
wait = WebDriverWait(driver, 秒數(shù))# 重要!
# 設置判斷條件:等待id='kw'的元素加載完成
input_box = wait.until(EC.presence_of_element_located((By.ID, 'kw')))
# 在關鍵詞輸入:關鍵詞
input_box.send_keys('關鍵詞')
driver.quit()二、優(yōu)缺點
1.強制等待
缺點:較為死板,不能準確把握等待時間,若大量使用會影響執(zhí)行效率,浪費不必要的時間
優(yōu)點:調(diào)用簡單,可在調(diào)試時使用
2.隱式等待
缺點:使用不是很靈活,程序會一直等待整個頁面加載完成,才會執(zhí)行下一步操作,需要等待時間完成;在等待時間內(nèi)頁面沒有加載完成,時間一到也會進入下一步操作,要定位的元素沒有出現(xiàn)則會報元素無法找到的錯誤
優(yōu)點:對整個driver的周期都起作用,每一次操作都會隱式等待,只設置一次
3.顯示等待
缺點:使用相對復雜,和強制等待類似,每一行等待只執(zhí)行一次
優(yōu)點:等待判斷準確,不會浪費多余的等待時間,可提高執(zhí)行效率
總結(jié)
到此這篇關于python的三種等待方式及優(yōu)缺點小結(jié)的文章就介紹到這了,更多相關python三種等待方式內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Python中l(wèi)ogging日志模塊代碼調(diào)試過程詳解
這篇文章主要介紹了Python中l(wèi)ogging日志模塊代碼調(diào)試,今天來看看如何在代碼中定義日志,并探討日志的權(quán)限,需要的朋友可以參考下2023-04-04
Python多叉樹的構(gòu)造及取出節(jié)點數(shù)據(jù)(treelib)的方法
今天小編就為大家分享一篇Python多叉樹的構(gòu)造及取出節(jié)點數(shù)據(jù)(treelib)的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-08-08
python如何用pymodbus庫進行modbus tcp通信
這篇文章主要介紹了python如何用pymodbus庫進行modbus tcp通信問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-06-06
使用tensorflow根據(jù)輸入更改tensor shape
這篇文章主要介紹了使用tensorflow根據(jù)輸入更改tensor shape,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-06-06
window7下的python2.7版本和python3.5版本的opencv-python安裝過程
這篇文章主要介紹了window7下的python2.7版本和python3.5版本的opencv-python安裝過程,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下2019-10-10

