elements方法的區別

1.有哪些元素定位方式

大家在使用IDE寫自動化代碼時,會看到web元素的定位方法有很多將近20個。

為何有這麼多個方法?前邊提到的八種元素定位方式,對應了8個方法。這裡列舉如下:


自動化測試:find_element與find_elements方法的區別

find方法和finds方法

2.使用上的區別

我們仔細觀察元素定位方法名稱可以識別到,這是兩套方法,都可以按照八種方式進行元素定位,但是前者是find_element_xx返回一個web元素,後邊一套方法是find_elements_xx返回的是多個元素即列表。

這裡隱含一個web現狀:

通過任何一種方式進行元素定位時,都可能匹配到一個或多個元素。雖然我們一般理解ID或name可以唯一標識一個元素,但是在前端,它並不是強制性的要求,也就是說我們可能看到同名甚至同ID的元素。web前端代碼的不規範導致自動化腳本書寫或維護比較麻煩。

另外一個隱含的使用區別方式:

如果匹配到多個元素,find_element_xx方法默認返回第一個匹配元素,而find_elements_xx方法返回多個元素的列表。

還有一個使用上的區別:

如果沒有匹配到元素,find_element_xx方法會拋出異常,而find_elements_xx方法返回空列表。


3.*最後的find_element方法和find_elements方法兩者區別同上。

跟前邊多個方法比較而言,這是個通用元素定位方法,在方法名稱上不區分定位方式,而是在參數中體現。如: driver.find_element(By.ID,'su')


更多內容請參考:

Selenium基本使用--集結篇

自動化測試:find_element與find_elements方法的區別


分享到:


相關文章: