XPath 元素查找方法

/AAA

选择根元素AAA

<AAA>

<BBB/>

<CCC/>

<BBB/>

<BBB/>

<DDD>

<BBB/>

</DDD>

<CCC/>

</AAA>

/AAA/CCC

选择AAA的所有CCC子元素

<AAA>

<BBB/>

<CCC/>

<BBB/>

<BBB/>

<DDD>

<BBB/>

</DDD>

<CCC/>

</AAA>

/AAA/DDD/BBB

选择AAA的子元素DDD的所有子元素

<AAA>

<BBB/>

<CCC/>

<BBB/>

<BBB/>

<DDD>

<BBB/>

</DDD>

<CCC/>

</AAA>

实例 2

如果路径以双斜线 // 开头, 则表示选择文档中所有满足双斜线//之后规则的元素(无论层级关系)

//BBB

选择所有BBB元素

<AAA>

<BBB/>

<CCC/>

<BBB/>

<DDD>

<BBB/>

</DDD>

<CCC>

<DDD>

<BBB/>

<BBB/>

</DDD>

</CCC>

</AAA>

//DDD/BBB

选择所有父元素是DDD的BBB元素

<AAA>

<BBB/>

<CCC/>

<BBB/>

<DDD>

<BBB/>

</DDD>

<CCC>

<DDD>

<BBB/>

<BBB/>

</DDD>

</CCC>

</AAA>

实例 3

星号 * 表示选择所有由星号之前的路径所定位的元素

选择所有路径依附于/AAA/CCC/DDD的元素

<AAA>

<XXX>

<DDD>

<BBB/>

<BBB/>

<EEE/>

<FFF/>

</DDD>

</XXX>

<CCC>

<DDD>

<BBB/>

<BBB/>

<EEE/>

<FFF/>

</DDD>

</CCC>

<CCC>

<BBB>

<BBB>

<BBB/>

</BBB>

</BBB>

</CCC>

</AAA>

*/BBB

选择所有的有3个祖先元素的BBB元素

<AAA>

<XXX>

<DDD>

<BBB/>

<BBB/>

<EEE/>

<FFF/>

</DDD>

</XXX>

<CCC>

<DDD>

<BBB/>

<BBB/>

<EEE/>

<FFF/>

</DDD>

</CCC>

<CCC>

<BBB>

<BBB>

<BBB/>

</BBB>

</BBB>

</CCC>

</AAA>

//*

选择所有元素

<AAA>

<XXX>

<DDD>

<BBB/>

<BBB/>

<EEE/>

<FFF/>

</DDD>

</XXX>

<CCC>

<DDD>

<BBB/>

<BBB/>

<EEE/>

<FFF/>

</DDD>

</CCC>

<CCC>

<BBB>

<BBB>

<BBB/>

</BBB>

</BBB>

</CCC>

</AAA>

实例 4

方块号里的表达式可以进一步的指定元素, 其中数字表示元素在选择集里的位置, 而last()函数则表示选择集中的最后一个元素.

/AAA/BBB[1]

选择AAA的第一个BBB子元素

<AAA>

<BBB/>

<BBB/>

<BBB/>

<BBB/>

</AAA>

/AAA/BBB[last()]

选择AAA的最后一个BBB子元素

<AAA>

<BBB/>

<BBB/>

<BBB/>

<BBB/>

</AAA>

实例 5

属性通过前缀 @ 来指定

//@id

选择所有的id属性

<AAA>

<BBB id = "b1"/>

<BBB id = "b2"/>

<BBB name = "bbb"/>

<BBB/>

</AAA>

//BBB[@id]

选择有id属性的BBB元素

<AAA>

<BBB id = "b1"/>

<BBB id = "b2"/>

<BBB name = "bbb"/>

<BBB/>

</AAA>

//BBB[@name]

选择有name属性的BBB元素

<AAA>

<BBB id = "b1"/>

<BBB id = "b2"/>

<BBB name = "bbb"/>

<BBB/>

</AAA>

//BBB[@*]

选择有任意属性的BBB元素

<AAA>

<BBB id = "b1"/>

<BBB id = "b2"/>

<BBB name = "bbb"/>

<BBB/>

</AAA>

//BBB[not(@*)]

选择没有属性的BBB元素

<AAA>

<BBB id = "b1"/>

<BBB id = "b2"/>

<BBB name = "bbb"/>

<BBB/>

</AAA>

实例 6

属性的值可以被用来作为选择的准则, normalize-space函数删除了前部和尾部的空格, 并且把连续的空格串替换为一个单一的空格

//BBB[@id=‘b1‘]

选择含有属性id且其值为‘b1‘的BBB元素

<AAA>

<BBB id = "b1"/>

<BBB name = " bbb "/>

<BBB name = "bbb"/>

</AAA>

//BBB[@name=‘bbb‘]

选择含有属性name且其值为‘bbb‘的BBB元素

<AAA>

<BBB id = "b1"/>

<BBB name = " bbb "/>

<BBB name = "bbb"/>

</AAA>

//BBB[normalize-space(@name)=‘bbb‘]

选择含有属性name且其值(在用normalize-space函数去掉前后空格后)为‘bbb‘的BBB元素

<AAA>

<BBB id = "b1"/>

<BBB name = " bbb "/>

<BBB name = "bbb"/>

</AAA>

时间: 2024-09-29 08:13:13

XPath 元素查找方法的相关文章

WebDriver元素查找方法摘录与总结

WebDriver元素查找方法摘录与总结 整理By:果冻迪迪 selenium-webdriver提供了强大的元素定位方法,支持以下三种方法. ? 单个对象的定位方法 ? 多个对象的定位方法 ? 层级定位 定位单个元素 在定位单个元素时,selenium-webdriver提示了如下一些方法对元素进行定位. By.className(className)) By.cssSelector(selector) By.id(id) By.linkText(linkText) By.name(name)

jQuery 的选择器可谓之强大无比,这里简单地总结一下常用的元素查找方法

1 jQuery 的选择器可谓之强大无比,这里简单地总结一下常用的元素查找方法 2 3 $("#myELement") 选择id值等于myElement的元素,id值不能重复在文档中只能有一个id值是myElement所以得到的是唯一的元素 4 $("div") 选择所有的div标签元素,返回div元素数组 5 $(".myClass") 选择使用myClass类的css的所有元素 6 $("*") 选择文档中的所有的元素,可

selenium-----简单的页面元素查找方法

查找页面元素的方法有很多,比如通过ID/name/CSS/path等,但有种方法是个菜鸟都会啊, 如下:(当然有些是隐藏或鼠标悬浮等才出现的元素要另外方法,可以联系QQ群:610845268) 打开浏览器,输入你要查找的网页地址,然后通过F12键打开浏览器调试模式,然后按照图 中的方法即可找元素的位置: 有问题可以跟我联系,博客或者QQ群:610845268

jQuery中常用的元素查找方法

$("#myELement") 选择id值等于myElement的元素,id值不能重复在文档中只能有一个id值是myElement所以得到的是唯一的元素 $("div") 选择所有的div标签元素,返回div元素数组 $(".myClass")   选择使用myClass类的css的所有元素 $("*") 选择文档中的所有的元素,可以运用多种的选择方式进行联合选择:例如$("#myELement,div,.mycla

jQuery常用的元素查找方法总结

$("#myELement")    选择id值等于myElement的元素,id值不能重复在文档中只能有一个id值是myElement所以得到的是唯一的元素$("div")           选择所有的div标签元素,返回div元素数组$(".myClass")      选择使用myClass类的css的所有元素$("*")             选择文档中的所有的元素,可以运用多种的选择方式进行联合选择:例如$(&q

jq上下级元素查找方法

1.parent([expr]) 获取指定元素的所有父级元素 2.next([expr]) 获取指定元素的下一个同级元素 3.nextAll([expr]) 获取指定元素后面的所有同级元素 4.andSelf() 获取指定元素后面的所有同级元素,之后加上指定的元素 5.prev() 获取指定元素的上一个同级元素 6.prevAll() 获取指定元素的前边所有的同级元素 7.children([expr]) 查找元素的下一级的子元素 8.find([expr]) 获取所有的下级元素

jQuery中常用的元素查找方法总结

$("#myELement") 选择id值等于myElement的元素,id值不能重复在文档中只能有一个id值是myElement所以得到的是唯一的元素 $("div") 选择所有的div标签元素,返回div元素数组 $(".myClass")   选择使用myClass类的css的所有元素 $("*") 选择文档中的所有的元素,可以运用多种的选择方式进行联合选择:例如$("#myELement,div,.mycla

jQuery元素查找方式

jQuery常用的元素查找方法总结 $("#myELement")    选择id值等于myElement的元素,id值不能重复在文档中只能有一个id值是myElement所以得到的是唯一的元素 $("div")           选择所有的div标签元素,返回div元素数组 $(".myClass")      选择使用myClass类的css的所有元素 $("*")             选择文档中的所有的元素,可以运

selenium爬取新闻做成词云(以及selenium的xpath查找方法)

一开始是想用qq空间说说做词云的,然而qq空间需要用cookies以及其他加密的东西,退而求其次搞搞新闻吧. 直接上代码了 # -*-coding:utf-8 -*- from selenium import webdriver import wordcloud #词云制作器 import jieba#强大的中文分词库 from scipy.misc import imread#读取图片 import time url='https://news.nuist.edu.cn/main.htm' n