selenium 定位--xpath 定位法
UI自动化定位除了常用的6种定位方式外,还有2种组合定位方式,xpath 和css。这里主要介绍下xpath 定位。xpath 可以分为2种定位方式。绝对和相对。绝对定位可以借助浏览器工具f12 直接操作拿到,相对定位需要自己编写表达式。
1、绝对定位和相对定位
绝对定位:浏览器打开html,右键copy xpath。弊处在路径位置一旦发生变化,则绝对路径就会发生变化。
拿到的路径类似于:div[3]/i[4]
相对定位:以//开头,不管元素在哪里,都可以根据属性匹配到。
2、常用表达式
- //标签名[@属性名=值]
- //标签名[text() = 值]
- 属性和文本都支持部分匹配的: //标签名[contains(@属性/text(),'包含的内容')]
- 逻辑运算 and or not
- // div[@href = 'www.baidu.com' and contains(text(),'百度')]
- 层级定位。当元素的特征不唯一的时候,先定位到元素祖先,再去定位元素后代。
- //div[@id='ii']//a[@name='login'] // 用来匹配子孙后代的 / 只匹配儿子
- 轴定位
ancestor : 祖先节点 包含父
parent : 父节点
preceding-sibling: 当前元素节点标签之前的所有兄弟节点(哥哥姐姐)
following-sibling: 当前元素节点 标签之后的所有兄弟节点(弟弟妹妹)
使用语法:已知的元素/轴名称::标签名称[@属性=值]

浙公网安备 33010602011771号