Python selenium 三種等待方式

2021-08-17 10:52:32 字數 1056 閱讀 4928

1.強制等待

time.sleep()
2.顯式等待

from selenium.webdriver.support import expected_conditions as ec

from selenium.webdriver.support.ui import webdriverwait

from selenium.webdriver.common.by import by

driver_box = webdriverwait(driver, 5, 0.5).until(ec.presence_of_element_located((by.name,'wd')))

等待五秒,每0.5s請求一次,檢查是否有by.name,'wd',五秒內沒請求到,會報超時異常.也可使用by.id

此方法等價於:

for i in range(10):

el = driver.find_element_by_id('kw')

if el.is_displayed():    #判斷元素是否存在

break

else:

print ctime

3.隱式等待

driver.implicitly_wait(10)        #預設引數是0
隱式等待是通過一定是時間等待頁面元素載入完成,超出設定時長未載入,會丟擲異常

注: implicitly_wait() 只需設定一次即可,無需像time.sleep().    此方法的劣勢:個別js特別慢時,會等全載入完,

才繼續執行下一步.

selenium提供用於顯示等待的內建方法, 出自爬蟲開發與專案實戰:

Python selenium 三種等待方式解讀

原文 1.有frame 2.沒有加等待時間 為什麼要加等待時間了,是因為 執行速度與瀏覽器載入速度不一樣,導致 執行完了瀏覽器還沒有載入完,出現異常情況。下面講解selenium的三種等待方式 1.強制等待,是最簡單粗暴的方法slepp xx 不管你瀏覽器是否載入完了,程式都得等待xx秒,xx秒一到...

Python selenium 三種等待元素方式

這種叫強制等待,不管你瀏覽器是否載入完了,程式都得等待,時間讀完繼續執行下面的 太死板,嚴重影響程式執行速度。from selenium import webdriver from time import sleep driver webdriver.firefox driver.get sleep...

Python selenium 三種等待方式詳解

1.強制等待 第一種也是最簡單粗暴的一種辦法就是強制等待sleep xx 強制讓閃電俠等xx時間,不管凹凸曼能不能跟上速度,還是已經提前到了,都必須等xx時間。看 coding utf 8 from selenium import webdriver from time import sleep d...