設定元素等待

2022-05-03 01:57:11 字數 2173 閱讀 4485

driver.implicitly_wait(10)

預設引數的單位為秒,本例中設定等待時長為10秒。當指令碼執行到某個元素定位時,如果元素可以定位,則繼續執行;

如果元素定位不到,則它將以輪詢的方式(0.5s)不斷地判斷元素是否被定位到。假設在第6秒定位到了元素則繼續執行,若直到超出設定時長(10秒)還沒有定位到元素,則丟擲異常

優點:一次設定,全域性通用,

缺點:浪費時間,每次定位元素前都至少需要0.5秒的輪詢,即對以後的所有元素都生效

fromseleniumimportwebdriver

importtime

driver = webdriver.chrome('d:\\tools\chromedriver.exe')

#設定隱式等待

driver.implicitly_wait(10)

driver.get('')

driver.find_element_by_id('kw').send_keys('松勤\n')

# time.sleep(2)

driver.find_element_by_partial_link_text('').click()

driver.close()

使webddriver等待某個條件成立時繼續執行,否則在達到最大時長時丟擲超時異常(timeoutexception)

優點:只對宣告了顯示等待的元素生效

缺點:麻煩,import 3個,使用也麻煩

fromseleniumimportwebdriver

fromselenium.webdriver.common.byimportby  #

設定元素定位選用哪種方法

fromselenium.webdriver.support.uiimportwebdriverwait 

#提供等待方法類

fromselenium.webdriver.supportimportexpected_conditionsasec  #

提供判斷條件

importtime

driver = webdriver.chrome('d:\\tools\chromedriver.exe')

#get

元素會等待所有元素載入完成

driver.get('')

driver.find_element_by_id('kw').send_keys('松勤\n')

#超時時間

10s,

輪詢時間

0.5s,

即每隔0.5

秒檢查一次,最多等待

10s,

返回元素物件

ele =

webdriverwait(driver,10,0.5).until(

ec.visibility_of_element_located(

(by.link_text,'松勤軟體測試_

driver.close()

設定元素等待

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

獲得驗證資訊及設定元素等待

web自動化測試中,用的最多的幾種驗證資訊是title,current url,text。title 獲取當前頁面標題 current url 獲取當前頁面url text 獲取當前頁面文字資訊。2 設定元素等待 顯示等待和隱士等待。顯示等待 webdriver等待某個條件成立則繼續執行,否則在到達...

webdrive 元素等待

1.顯示等待是針對某乙個元素進行相關等待判定 2.隱式等待不針對某乙個元素進行等待,全域性元素等待。1.webdriverwait 顯示等待針對元素必用 2.nosuchelementexception 用於隱式等待丟擲異常 3.by 用於元素定位 顯示等待from selenium import ...