如何使用xpath定位兄弟元素

在做UI自动自动化过程中,我们经常用到各种属性定位元素,如id、name、xpath等。多数情况下,可能很多定位元素属性不明显,这时我通常寄希望于xpath,虽然它执行效率低,但不是没得选了是吧。

1、xpath规则

/  表示从根节点选取

// 表示从匹配选择的当前节点选取文本节点,而不管它们在文本中的位置

. 表示选取当前节点

 ..  表示选取当前节点的父节点

@ 表示选取属性

2、xpath属性定位及标签

("//标签名[@属性='属性值']")  ,属性值可以是id、tagname、link name 、css xpath等。

在Html里,展示一个页面可以用到很多标签,如input、div 、span、table等;我们在写xpath路径时。可以写入具体的标签名,也可以用*表示任意标签。

图1

dirver.find_element_by_xpath("//input[@id='q']")  或 dirver.find_element_by_xpath("//*[@id="q"]") 均表示上述的输入框。

3、定位兄弟元素

如图1 所示,有form标签下有2个input标签,如何第一个input标签属性不明显,怎么定位第一个input标签呢?

利用..先找到父元素,再通过索引找到第一input标签,其中..表示返回上一个父节点。

dirver.find_element_by_xpath("//input[@id='q']/../input[1]")

注意:xpath中索引从1开始递增。

参考:https://blog.csdn.net/weixin_44090305/article/details/92185565

你可能感兴趣的:(如何使用xpath定位兄弟元素)