如何使用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

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容