美文网首页
xpath定位

xpath定位

作者: 倔强_2722 | 来源:发表于2020-06-23 21:09 被阅读0次

基础路径表达式:

表达式 描述
/ 从根节点选取
// 从匹配选择的当前节点选择文档中的节点,而不考虑他们的位置
. 选取当前节点
.. 选取当前节点的父节点
@ 选取属性
* 选取所有
选取若干个路径(或的关系)

实例:

表达式 详解
/html 注释:假如路径起始于正斜杠(/),则此路径始终代表到某元素的绝对路径;
/html/body 选取html的子元素的所有body元素
//div 选取所有div子元素,而不管位置
//body//div 选取属于body元素的后代的所有div元素,而不管位置
//@id 选取有id属性的所有元素
//body/div[last()-1] 选取body下倒数第二个div元素
//body/div[position()<3] 选取位置小于3的div元素
//body/div[1]/div[position()<2] 选取body第一个div下的位置小于2的div元素
//a[@id] 选取所有具有id属性的a元素
//a[@id='nav_default'] 选取所有a元素,且id=nav_default
//body//div[span>223] 选取body元素下所有div元素,且其中的span元素值大于223
//body//div[span>22]/strong 选取body子元素中的div元素下的所有strong元素,且其中的span元素值须大于22
//a[@class='btn ban-default ml-5' or @role='button'] 选取所有满足class,role是或关系的a元素
//a[@class and @role] 定位具备class\role属性的所有a标签
//body/* 匹配body下所有子标签
//li|//ul 选取所有的li元素和ul元素
//span[text()='你好'] 选取所有span内容为你好的标签

Xpath 轴

轴名称 结果
ancestor 选取当前节点的所有先辈
ancestor-or-self 选取当前节点的所有先辈及当前节点本身
attribute 选取当前节点的所有属性
child 选取当前节点的所有子元素
descendant 选取当前节点的所有后代元素
descendant-or-self 选取当前节点的所有后代元素和自身
following 选取文档中当前节点的结束标签之后的所有节点
following-sibling 选取文档中当前节点的结束标签之后的所有同级节点
namespace 选取当前节点的所有命名空间节点
parent 选取当前节点的父节点
preceding 选取文档中,当前节点的开始标签之前的所有节点
preceding-sibling 选取当前节点之前的所有同级节点
self 选取当前节点

实例:

表达式 详解
//*[@id='course']/child::ul 选取id值为course的元素的所有ul子元素
//div/attribute::id 选取具有id属性的所有div元素
//div[@id='course']/child::* 选取id为course的元素的所有子元素
//div[@id='course']/descendant::li 选取id值为course的元素的所有后代li元素
//*[@id='nav_default']/ancestor::li 选择id为nav_default节点的所有li先辈
//*[@id='nav_default']/parent::li 选择id为nav_default节点的所有li父辈
//*[@id='nav_default']/following::li 选择id为nav_default节点结束之后的所有li标签
//h4/a[1]/following-sibling::*/.. 选取h4/a[1]标签结束后的同级节点的上一级节点

相关文章

网友评论

      本文标题:xpath定位

      本文链接:https://www.haomeiwen.com/subject/icohfktx.html