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方法


分享到:


相關文章: