(3)selenium之三種等待

2021-09-25 03:00:49 字數 1300 閱讀 9352

有時頁面元素還沒載入出來,所以需要等待

等待分為強制等待time sleep(),隱性等待implicitly_wait(),顯性等待webdriverwait()

1.強制等待,無法確定等待時間,等久了,效率慢,等少了,元素沒出來

time.sleep(2)

2.隱式等待,只能用來等待元素出現

browser.implicitly_wait(10)

3.顯式等待

定時器wait = webdriverwait(browser,20)

設定條件

e = wait.until(ec.visibility_of_element_located((by.xpath, 「//a[contains(text(),『lemon.ke.qq.com』)]」)))

from selenium.webdriver import chrome

from selenium.webdriver.support.wait import webdriverwait

from selenium.webdriver.support import expected_conditions as ec

from selenium.webdriver.common.by import by

browser = chrome()

browser.get("")

# 定位輸入框

e = browser.find_element_by_id("kw")

# 傳送資料,輸入文字

e.send_keys("檸檬班")

# 如果有乙個form表單,就不需要定位,直接e.submit()就可以了

# e.submit()

e_submit = browser.find_element_by_id("su")

e_submit.click

# 發現有「no such element"的錯誤,有可能是因為沒有等待

# 顯式等待

# 定時器

wait = webdriverwait(browser,20)

# **設定條件,條件表示式是乙個元組**

e = wait.until(ec.visibility_of_element_located((by.xpath, "//a[contains(text(),'lemon.ke.qq.com')]")))

# e = browser.find_element_by_xpath("//a[contains(text(),'lemon.ke.qq.com')]")

e.click()

selenium的三種等待

1 強制等待 不管頁面是否載入出來,強制讓進城等待。2 隱式等待 driver.implicitly wait 20 3 顯示等待 滿足一些內建的等待條件,這要這些條件滿足,就等待結束。這些條件比如 特定頁面元素載入出來。建立顯示等待的步驟 導包from selenium.webdriver.sup...

selenium三種等待方式

很多時候,我們進行元素定位時無法按預期成功定位到元素,但是我們的 又確保準確無誤,那是什麼原因呢?其實,原因很簡單,大致分為2種 1,所定位的元素在frame iframe中 2,未設定合理的等待 為什麼未設定合理等待的時候,很有可能無法正確定位元素呢?我們知道,的執行速度很快很快,但瀏覽器的渲染速...

Selenium 三種等待方式詳解

我們在做web自動化時,一般要等待頁面元素載入完成後,才能執行操作,否則會報找不到元素的錯誤,這樣就要求我們在有些場景下加等待時間。我們平常用到的有三種等待方式 利用time模組的sleep方法來實現,最簡單粗暴的等待方法 coding utf 8 from time import sleep fr...