webdrive 元素等待

2021-08-13 23:06:55 字數 1403 閱讀 5091

1.顯示等待是針對某乙個元素進行相關等待判定;

2.隱式等待不針對某乙個元素進行等待,全域性元素等待。

1.webdriverwait 顯示等待針對元素必用

2.nosuchelementexception 用於隱式等待丟擲異常

3.by 用於元素定位

顯示等待

from selenium import webdriver

from selenium.webdriver.support.ui import webdriverwait

from selenium.webdriver.support import expected_conditions as ec

from selenium.webdriver.common.by import by

from

time import sleep

driver = webdriver.chrome()

driver.get('')

sleep(2)

driver.find_element_by_css_selector('#kw').send_keys('selenium')

#顯示等待--判斷搜尋按鈕是否存在,5秒內,每0.5秒檢測按鈕是否存在

element = webdriverwait(driver,5,0.5).until(ec.presence_of_element_located((by.id,'su')))

element.click()

sleep(2)

driver.quit()

隱式等待
from selenium import webdriver

from selenium.common

.exceptions import nosuchelementexception

from time import sleep,ctime

driver=webdriver.firefox()

driver.get("")

sleep(2)

driver.implicitly_wait(5) #隱式等待時間設定 5秒

#檢測搜尋框是否存在

try:

print(ctime())

driver.find_element_by_css_selector("#kw").send_keys("python")

driver. find_element_by_css_selector("#su").click

except nosuchelementexception as msg:

print(msg)

finally:

print(ctime())

sleep(3)

driver.quit()

Selenium 元素等待

這是乙個在寫自動化指令碼時經常遇到的問題。試想這樣的乙個場景,通過指令碼開啟乙個網頁,可是由於網路的問題頁面並沒有及時載入進來,這時候如果已經執行到之後查詢元素的 那麼勢必會丟擲錯誤找不到相應元素,而事實並非如此。如果沒有合適的元素等待處理,這樣的測試 不僅不夠健壯,過多的誤報會消耗測試人員大量的精...

Selenium元素等待

一 為什麼要使用元素等待?原因 由於電腦配置或者網路原因,在查詢元素時,元素 未在第一時間內被載入出來,而丟擲未能找到元素的異常。二 什麼是元素等待?元素在第一次未找到時,元素等待設定的時長被啟用,如果在設定的有效時長內找到元素,繼續執行 如果超出設定的時長未找到元素,丟擲未找到元素異常。三 元素等...

設定元素等待

webdriver定位頁面元素時如果未找到,會在指定時間內一直等待的過程 由於網路速度原因 電腦配置原因 伺服器處理請求原因 顯式等待 隱式等待 說明 等待元素載入指定的時長,超出丟擲nosuchelementexception異常,實際工作中,一般都使用隱式等待 顯式與隱式區別 1.作用域 顯式等...