失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 常用的xpath定位 通过一个元素去定位另一个元素 基本上能解决工作中所有定位

常用的xpath定位 通过一个元素去定位另一个元素 基本上能解决工作中所有定位

时间:2023-02-09 17:36:00

相关推荐

常用的xpath定位 通过一个元素去定位另一个元素 基本上能解决工作中所有定位

前言

今天和大家分享几个工作中经常使用的xpath定位,基本上能解决工作中所有定位。

一.输入框类

1.有提示信息的,例如:placeholder=“请输入用户名”,则可以通过相应提示直接定位。

username=('xpath',"//*[@placeholder='请输入用户名']")

2.无提示信息的,如下图。则可以通过标签的属性值进行定位,前提标签属性不是动态的。例如:

input_password = ('xpath','//input[@lass="ant-input ng-untouched ng-pristine ng-valid"]')

二.按钮类

按钮类是最容易定位的,直接通过按钮名称直接定位。注意下图“确定”和“取消”前后有空格

1.精准定位,通过完全匹配去定位元素。比如:这里必须找到“ 确定 ”(注意这里“确定”前后有空格 )才能定位成功。

#注意这里“确定”前后有空格 bt = ('xpath','//span[text()=" 确定 "]')

注意:这里有很多同学可能定位到了,但是在执行代码的时候却无法点击,我们可以选择定位其父级button

#注意这里“确定”前后有空格 bt = ('xpath','//span[text()=" 确定 "]/..')

2.模糊定位,通过模糊匹配去定位元素。比如:这里必须找到“确定”(注意这里“确定”前后没有空格 )才能定位成功。

bt = ('xpath','//span[contains(text(),"确定")]')

三.通过一个元素去定位另一个元素

这种方法能帮助我们解决一些相对困难的定位,例如:我们要去获取 用户名.txt 文件的大小。

1.我们先直接看看html,文件大小的属性值一模一样,无法单独获取。有同学可能会想到去定位一组元素,但是这里取出来的值,不清楚那个是 用户名.txt 的大小。

2.我们可以通过先定位文件名,然后通过文件名去定位其大小。145 div 同级

这是代码收缩后样子

这里要补充两个知识点,preceding-sibling::标签[索引] 和 following-sibling::标签[索引]。

例子:

第一步://span[text()=“3318.txt”],先定位文件名

第二步://span[text()=“3318.txt”]/…/…/… ,找到与文件大小同级的标签

第三步://span[text()=“3318.txt”]/…/…/…/following-sibling::div[1],查看大小标签在 //span[text()=“3318.txt”]/…/…/… 下边第几个。这里是在 //span[text()=“3318.txt”]/…/…/… 下面第一个div

size = ('xpath' , '//span[text()="3318.txt"]/../../../following-sibling::div[1]')

preceding-sibling 与 following-sibling 用法一致,following-sibling上定位同级下面的标签,preceding-sibling定位同级上面的标签

四.结束语

以上定位是小编工作中自己总结,如有错误希望各位指出!

如果觉得《常用的xpath定位 通过一个元素去定位另一个元素 基本上能解决工作中所有定位》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。