python的三種等待方式及優(yōu)缺點小結(jié)
一、調(diào)用方式
1.強(qiáng)制等待
調(diào)用time模塊,使用time.sleep(n),強(qiáng)制等待n秒
2.隱式等待
implicitly_wait(n),設(shè)置隱式等待最大時間n秒,等待元素加載完成,如果到了時間元素沒有加載出,就拋出一個NoSuchElementException的錯誤。
3.顯式等待
調(diào)用WebDriverWait()類,顯性等待是對指定元素進(jìn)行等待的一種等待方式。通過設(shè)置最大等待時間,檢查頻率對頁面的元素來進(jìn)行等待,一旦找到元素,則停止等待,進(jìn)入后續(xù)步驟,否則繼續(xù)等待,直到超過設(shè)置的最長時間,然后拋出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') # 設(shè)置瀏覽器:driver 等待時間:? wait = WebDriverWait(driver, 秒數(shù))# 重要! # 設(shè)置判斷條件:等待id='kw'的元素加載完成 input_box = wait.until(EC.presence_of_element_located((By.ID, 'kw'))) # 在關(guān)鍵詞輸入:關(guān)鍵詞 input_box.send_keys('關(guān)鍵詞') driver.quit()
二、優(yōu)缺點
1.強(qiáng)制等待
缺點:較為死板,不能準(zhǔn)確把握等待時間,若大量使用會影響執(zhí)行效率,浪費(fèi)不必要的時間
優(yōu)點:調(diào)用簡單,可在調(diào)試時使用
2.隱式等待
缺點:使用不是很靈活,程序會一直等待整個頁面加載完成,才會執(zhí)行下一步操作,需要等待時間完成;在等待時間內(nèi)頁面沒有加載完成,時間一到也會進(jìn)入下一步操作,要定位的元素沒有出現(xiàn)則會報元素?zé)o法找到的錯誤
優(yōu)點:對整個driver的周期都起作用,每一次操作都會隱式等待,只設(shè)置一次
3.顯示等待
缺點:使用相對復(fù)雜,和強(qiáng)制等待類似,每一行等待只執(zhí)行一次
優(yōu)點:等待判斷準(zhǔn)確,不會浪費(fèi)多余的等待時間,可提高執(zhí)行效率
總結(jié)
到此這篇關(guān)于python的三種等待方式及優(yōu)缺點小結(jié)的文章就介紹到這了,更多相關(guān)python三種等待方式內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python Pandas兩個表格內(nèi)容模糊匹配的實現(xiàn)
模糊查詢大家應(yīng)該都不會陌生,下面這篇文章主要給大家介紹了關(guān)于Python Pandas兩個表格內(nèi)容模糊匹配的實現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下2021-11-11python面試題Python2.x和Python3.x的區(qū)別
這篇文章主要介紹了python面試題Python2.x和Python3.x的區(qū)別 ,在面試中也經(jīng)常會問到,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下2019-05-05Python pip通過requirements.txt 文件安裝依賴
requirements.txt是定義項目依賴的python包,可通過工具生成,本文主要介紹了Python pip通過requirements.txt文件安裝依賴,具有一定的參考價值,感興趣的可以了解一下2024-03-03