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]