实例 1
基本的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> |
分享到:
相关推荐
XPath 使用路径表达式来选取节点,如元素、属性、文本等。本篇文章将详细探讨如何查看网页元素的 XPath,并介绍其相关知识点。 首先,XPath 的基本概念: 1. **节点**:在 XML 或 HTML 文档中,节点可以是元素(如...
XPath 语法是用于在 XML 文档中查找元素的语言。例如,//input[@name='pass'] 用于定位 name 属性为 pass 的 input 元素。//input[@name='pass' and @class='textfild'] 用于定位 name 属性为 pass 且 class 属性为 ...
XPath(XML Path Language)是一种在XML文档中查找信息的语言,它允许我们通过路径表达式来选取节点,比如元素、属性和文本等。XPath 2.0是XPath的第二个主要版本,增加了更多的功能和优化。 在没有XPath Helper的...
XPath(XML Path Language)是一种在XML文档中查找信息的语言,它通过路径表达式来选取节点,如元素、属性、文本等。 该插件的主要功能包括: 1. **元素定位**:在浏览网页时,XPath Helper允许用户右键点击任何...
XPath是一种用于在XML文档中查找信息的语言。它被设计用来在XML文档中导航,帮助开发者精确地定位和选取节点。XPath在XSLT(Extensible Stylesheet Language Transformations)中扮演着核心角色,因为它允许用户基于...
通过XPath,我们可以根据元素的属性(如id、class、name等)或其在DOM树中的位置来选择元素。例如,以下是一些基本的XPath语法: 1. 通过ID定位:`//*[@id='element_id']` 2. 通过类名定位:`//*[contains(@class, ...
例如,给定的"xpath-selector-master"可能是一个这样的插件,它提供了直观的界面,用户只需点击页面上的元素,插件就会自动生成相应的XPath和CSS选择器路径。这极大地提升了工作效率,使得开发者和测试人员能更专注...
2. **属性选取**:除了选取元素,还能生成选取XML元素属性的XPath表达式,如 `@id` 用来选取带有特定`id`属性的元素。 3. **条件筛选**:支持生成包含条件判断的XPath表达式,例如选取所有`class`属性值为`...
XPath,全称XML Path Language,是一种在XML文档中查找信息的语言。它被设计用来选取XML文档中的节点,如元素、属性、文本等。XPath通过路径表达式来选取节点,类似于我们在网页浏览器中输入URL来访问网页。在处理...
XPath,全称XML Path Language,是一种在XML文档中查找信息的语言。它被设计用来选取XML文档中的节点,如元素、属性、文本等。在IE浏览器下,为了方便开发者获取XML或HTML文档中的XPath路径,存在一种小工具,本文将...
XPath 是一门在 XML 文档中查找信息的语言,XPath 可用来在 XML 文档中对元素和属性进行遍历。XPath 是 W3C XSLT 标准的主要元素,并且 XQuery 和 XPointer 同时被构建于 XPath 表达之上。因此,对 XPath 的理解是很...
- **节点类型**:XPath处理的节点包括元素(Element)、属性(Attribute)、文本(Text)、命名空间(Namespace)、处理指令(Processing Instruction)、注释(Comment)和文档(Document)节点。 - **路径表达式...
XPath是XML处理中的一种强大的查询语言,用于在XML文档中查找特定的信息。它允许开发者根据节点的名称、属性、值甚至是它们之间的关系来定位XML数据。在这个“xpath 依赖包及开发手册”中,我们主要关注XPath的使用...
2. **属性选择**:XPath可以选取具有特定属性的元素。如 `//input[@type='text']` 将选取所有type属性为"text"的input元素,这在Web自动化测试中用于识别表单输入框。 3. **动态选取**:XPath支持逻辑运算符(and、...
XPath,全称XML Path Language,是一种在XML文档中查找信息的语言。它被设计用来选取XML文档中的节点,包括元素、属性、文本等。XPath基于W3C标准,其1.0版本是XPath语言的基础,提供了强大的查询和导航功能。本教程...
元素的属性中没有id、name;虽然有class,但比较大众化,且位置也不固定;例如:页码中的下一页;那该如何找到该元素? 上一页 <a>1 <a>2 下一页 解决办法 text() text() 函数文本定位 page_next = driver.find...
这篇笔记主要涵盖了如何查看Python和Selenium的版本,以及XPath元素抓取的高级用法,这对于进行Web自动化测试至关重要。 首先,了解你的Python环境的版本是必要的。在Windows系统中,你可以通过CMD(命令提示符)...
XPath(XML Path Language)是一种在XML文档中查找信息的语言,它允许我们通过路径表达式来选取节点,如元素、属性、文本等。XPath的使用极大地简化了数据的检索和处理过程。 在Python的Web爬虫开发中,lxml库是...
XPath是一种在XML文档中查找信息的语言,用于选取XML文档中的节点,包括元素、属性、文本等。XPath基于路径表达式来选取XML文档中的节点,这些路径表达式类似于文件系统的路径,但更为灵活。 1. **XPath的基本概念*...
* `xpath('//div[@id="test"]/text()')`:获取id属性为test的div元素的文本内容 XPATH语言是Python爬虫开发中一个非常重要的工具,通过学习XPATH语言,我们可以更方便地提取HTML和XML文档中的信息。