01.30 自動化測試:Selenium webElement對象的find方法

1.driver的find方法:

我們前邊用的元素定位方法,都是driver對象的方法,這個也是大家用的最多的。

包含2*8=16個元素定位方法find_element_by_xx的使用;

前邊也給大家解釋了find_element和find_elements兩套方法的區別;


在我們更多更熟練的使用過程中,大家可能會看到WebElement實例對象也有同樣的十多個find方法:


2。webElement的find元素定位方法。

借用pycharm的提示功能,截圖如下:


自動化測試:Selenium webElement對象的find方法

webdriver對象的find方法

自動化測試:Selenium webElement對象的find方法

webElement對象的find方法

大家看到不論是driver對象還是webElement對象,它們的find方法名、參數都是一樣的。使用起來有區別嗎?


  1. 兩個不同對象的方法使用上的區別

webElement的find方法與driver的find方法個數一致,方法名稱參數等也完全一致,使用規則也幾乎一致,如:

何時用find_by_name, 何時用find_by_calss_name----根據元素屬性如果有name則優先用name

何時用find_element何時用find_elements----根據目標元素是否唯一,是否第一個匹配項選擇,


僅有的區別:

driver的find方法進行元素查找時,是在當前整個DOM樹中查找;

webElement的find方法進行元素查找時,是在當前webElement節點中進行查找,只匹配它的子節點元素。


* 百度登陸時,若出現驗證碼或手機驗證碼的情況,selenium不好解決。

更多內容,請參考:

自動化測試:Selenium webElement對象的find方法


分享到:


相關文章: