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不好解决。
更多内容,请参考:
閱讀更多 古衣達 的文章