xpath常用实例

论坛 期权论坛 编程之家     
选择匿名的用户   2021-6-2 20:23   1500   0

注意1:查询的节点指向,都是xpath的最后一部分

1、根据属性

By.xpath("//a[@href]") //获取所有的包含href属性的节点,可以一次性获取所有链接

2、父节点 “..” ; 兄弟节点 “ following-sibling::span[1] ” 计数从1开始

已知节点的父节点的第二个div兄弟节点

By.xpath("//span[text()=\"测试用例\"]/../following-sibling::div[2]")

3、根据文本查询

  • 直接指定text //span[text()="测试用例"]
  • 包含一部分文本 //span[contains(text(),"用例")]
  • 对象中有不是文本的部分,先将所有内容转换成string,再包含部分 //span[contains(string(),"用例")]

4、匹配值对象,不止是text,还有属性的值也可以

  • //div[starts-with(@class,'test')] 查找class属性中开始位置包含'test'关键字的div元素
  • //div[contains(@class,'test')] 查找class属性中包含test关键字的div元素

5、关键词::节点名称[下标]

https://www.cnblogs.com/VseYoung/p/8686383.html

XPath轴(XPath Axes)可定义某个相对于当前节点的节点集:
1、child 选取当前节点的所有子元素 例: //span[text()="用例"]/child::span
2、parent 选取当前节点的父节点,可以直接用..代替 例://span[text()="用例"]/parent::span
3、descendant 选取当前节点的所有后代元素(子、孙等)
4、ancestor 选取当前节点的所有先辈(父、祖父等)
5、descendant-or-self 选取当前节点的所有后代元素(子、孙等)以及当前节点本身
6、ancestor-or-self 选取当前节点的所有先辈(父、祖父等)以及当前节点本身
7、preceding-sibling 选取当前节点之前的所有同级节点
8、following-sibling 选取当前节点之后的所有同级节点
9、preceding 选取文档中当前节点的开始标签之前的所有节点
10、following 选取文档中当前节点的结束标签之后的所有节点
11、self 选取当前节点
12、attribute 选取当前节点的所有属性
13、namespace 选取当前节点的所有命名空间节点

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP