1.driver的find方法:
我們前邊用的元素定位方法,都是driver對象的方法,這個也是大家用的最多的。
包含2*8=16個元素定位方法find_element_by_xx的使用;
前邊也給大家解釋了find_element和find_elements兩套方法的區別;
在我們更多更熟練的使用過程中,大家可能會看到WebElement實例對象也有同樣的十多個find方法:
2。webElement的find元素定位方法。
借用pycharm的提示功能,截圖如下:
大家看到不論是driver對象還是webElement對象,它們的find方法名、參數都是一樣的。使用起來有區別嗎?
- 兩個不同對象的方法使用上的區別
webElement的find方法與driver的find方法個數一致,方法名稱參數等也完全一致,使用規則也幾乎一致,如:
何時用find_by_name, 何時用find_by_calss_name----根據元素屬性如果有name則優先用name
何時用find_element何時用find_elements----根據目標元素是否唯一,是否第一個匹配項選擇,
僅有的區別:
driver的find方法進行元素查找時,是在當前整個DOM樹中查找;
webElement的find方法進行元素查找時,是在當前webElement節點中進行查找,只匹配它的子節點元素。
* 百度登陸時,若出現驗證碼或手機驗證碼的情況,selenium不好解決。
更多內容,請參考:
閱讀更多 古衣達 的文章