selenium---常用判斷元素方法(expected_conditions)


  在做自動化的時候,有時候會需要判斷元素是否存在,iframe是否存在,以及一些彈出框是否存在,selenium中單獨封裝了一個庫中有關於元素判斷的方法

expected_conditions

expected_conditions在selenium的一個方法庫,簡稱EC,里面主要有一些判斷元素是否出現,彈出框是否出現,以及是否出現新窗口等。

使用方法:

用的比較多的就是和顯示等待一起使用,通過顯示等待的方法來循環判斷是否元素是否出現

# 導入EC
from selenium.webdriver.support import expected_conditions as EC
# 顯示等待
from selenium.webdriver.support.ui import WebDriverWait

WebDriverWait(driver,10,0.5).until(EC.title_is('百度一下'))

具體方法:

expected_conditions的方法種類有很多。大部分都是判斷元素的,但是也有其他的存在

方法 說明
title_is 判斷當前頁面的title是否完全等於(==)預期字符串
title_contains 判斷當前頁面的title是否包含預期字符串
presence_of_element_located 判斷某個元素是否被加到了dom樹里,並不代表該元素一定可見
visibility_of_element_located 判斷某個元素是否可見. 可見代表元素非隱藏,並且元素的寬和高都不等於0
visibility_of 跟上面的方法一樣,直接傳定位到的element
presence_of_all_elements_located 判斷是否至少有1個元素存在於dom樹中。舉個例子,如果頁面上有n個元素的class都是'column-md-3',那么只要有1個元素存在,返回True
text_to_be_present_in_element 判斷某個元素中的text是否,包含預期的字符串
text_to_be_present_in_element_value 判斷某個元素中的value屬性是否,包含預期的字符串
frame_to_be_available_and_switch_to_it 判斷該frame是否可以switch進去
invisibility_of_element_located  判斷某個元素中是否不存在於dom樹或不可見
element_to_be_clickable  判斷某個元素中是否可見並且是否可以點擊
staleness_of 等某個元素從dom樹中移除
element_to_be_selected  判斷某個元素是否被選中了,一般用在下拉列表
element_selection_state_to_be  判斷某個元素的選中狀態是否符合預期
element_located_selection_state_to_be 跟上面的方法作用一樣,只是上面的方法傳入定位到的element
alert_is_present 判斷頁面上是否存在alert
new_window_is_opened 判斷窗口是否增加,傳入窗口數量
number_of_windows_to_be 期望窗口為多少
frame_to_be_available_and_switch_to_it 判斷是否切換到iframe

 上面安靜簡單的列舉了常用的幾種判斷方法,如何想要了解源碼,我們可以通過打開EC,crtl+點擊進入查看

具體的用法,我們可以參考源碼,或者點個關注,持續更新,后面用到那種會進行說明 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM