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

前言

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

一.输入框类

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

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

常用的xpath定位,通过一个元素去定位另一个元素,基本上能解决工作中所有定位_第1张图片
在这里插入图片描述
2.无提示信息的,如下图。则可以通过标签的属性值进行定位,前提标签属性不是动态的。例如:

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

常用的xpath定位,通过一个元素去定位另一个元素,基本上能解决工作中所有定位_第2张图片
在这里插入图片描述

二.按钮类

按钮类是最容易定位的,直接通过按钮名称直接定位。注意下图“确定”和“取消”前后有空格
在这里插入图片描述
常用的xpath定位,通过一个元素去定位另一个元素,基本上能解决工作中所有定位_第3张图片
1.精准定位,通过完全匹配去定位元素。比如:这里必须找到“ 确定 ”(注意这里“确定”前后有空格 )才能定位成功。

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

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

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

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

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

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

这种方法能帮助我们解决一些相对困难的定位,例如:我们要去获取 用户名.txt 文件的大小。
在这里插入图片描述
1.我们先直接看看html,文件大小的属性值一模一样,无法单独获取。有同学可能会想到去定位一组元素,但是这里取出来的值,不清楚那个是 用户名.txt 的大小。
常用的xpath定位,通过一个元素去定位另一个元素,基本上能解决工作中所有定位_第4张图片
2.我们可以通过先定位文件名,然后通过文件名去定位其大小。145 div 同级

常用的xpath定位,通过一个元素去定位另一个元素,基本上能解决工作中所有定位_第5张图片
这是代码收缩后样子
常用的xpath定位,通过一个元素去定位另一个元素,基本上能解决工作中所有定位_第6张图片
这里要补充两个知识点,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定位同级上面的标签

四.结束语

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

你可能感兴趣的:(selenium自动化,xpath,定位,python,unittest,html)