selenium 手写xpath

xpath定位表达式:

绝对定位:从跟路径开始,一级一级往下找

相对定位:

语法:
/ : 代表根节点,查找元素只能一级一级往下找
// : 查找子孙元素,不用考虑层级
. : 代表当前已经选中的节点
.. : 代表当前节点的父节点
* : 通配符(表示匹配所有的元素)

谓语(条件) : 通过中括号来表示

1、下标取值:[index]
xpath的索引是从1开始的
注意点:xpath使用索引的时候,前后的部分使用括号括起来(索引的优先级高于//)

2、属性筛选:[@属性名="属性值"]

3、通过元素文本进行定位 (标签对中间的内容叫文本)
[text()="文本值"]

4、部分匹配:
starts-with : 匹配是否以XX开头
匹配文本:
//a[starts-with(text(),"hao123")] == //a[starts-with(text(),"hao")]
匹配文本以hao123开头 匹配文本以hao开头
匹配属性:
//a[starts-with(@href, "http://news")]


contains : 包含匹配
匹配文本: //a[contains(text(), "hao1")]
匹配属性: //a[contains(@href, "news.baidu")]

5、逻辑运算
and : 通过多个条件进行筛选 [条件1 and 条件2]
匹配文本: //a[@href="http://news.baidu.com" and text()="新闻"]
匹配属性: //a[@class="pf" and @name="tj_settingicon"]

or : 符合条件中的一个即可

  6、索引取值
        (//a[@class="XXXX"])[1]
      
posted @ 2021-01-27 15:00  北京测试菜鸟  阅读(429)  评论(0编辑  收藏  举报