【Xpath】 xpath语法总结
节点选取
| 表达式 | 描述 | 用法 | 说明 |
|---|---|---|---|
nodename |
选取此节点的所有子节点 | div | 选取div下的所有标签 |
// |
从全局节点中选择节点,任意位置均可 | //div | 选取整个HTML页面的所有div标签 |
/ |
选取某个节点下的节点 | //head/title | 选取所有head标签下的titile标签 |
@ |
选取带某个属性的节点 | //div[@id] | 选择带有id属性的div标签 |
. |
当前节点下 | ./span | 选择当前节点下的span标签 |
谓语
| 表达式 | 用法说明 |
|---|---|
//head/meta[k]
|
选择所有head下的第k个meta标签 |
//head/meta[last()] |
选择所有head下的最后一个meta标签 |
//head/meta[position()<3] |
选择所有head下的前两个meta标签 |
//div[@id] |
选择带有id属性的div标签 |
//div[@id='u1'] |
选择所有拥有id=u1的div标签 |
通配符
| 通配符 | 描述 | 示例 | 结果 |
|---|---|---|---|
* |
匹配任意节点 | //div[@id='u1']/* |
选择所有id=’u1‘的div标签下的所有节点 |
@ |
匹配节点中的任意属性 | //meta[@*] |
选择所有拥有任意属性的meta标签 |
选取多个路径
多个xpath路径使用管道符|连接,效果等价于”或“
例如 "//div | //span" 选取所有的div和span标签
方法
| 方法名 | 描述 | 示例 | 结果 |
|---|---|---|---|
contains() |
判断一个字符串是否包含另一个字符串 | //div[contains(@id,"in")] |
选择所有id包含”in”的div节点 |
string(.) |
提取当前元素及其所有子元素的文本内容 | //div[string(.)="hellow"] |
选择所有文本内容为
”hello“的div节点
|
text() |
提取当前元素的文本内容 | //a[text()="haha"] |
选择所有文本为“haha”的a节点 |
last() |
返回当前节点集中最后一个节点的位置 | //li[last()] |
选择最后一个li节点 |
position() |
返回当前节点在同级节点中的位置 | //li[position()<3] |
选择前两个li节点 |
name() |
返回当前节点的名称 | //div[name()="content"] |
选择 名称为”content"的div节点 |
count() |
返回当前节点集中的节点数量 | //div[count(li)=3] |
选择包含三个li子节点的div节点 |
starts-with() |
判断一个字符串是否以另一个字符串开头 | //a[starts-with(@href,"http")] |
选择href属性以“http”开头的a节点 |
ends-with() |
判断一个字符串是否以另一个字符串结尾 | //a[ends-with(@href,"html")] |
选择href属性以“html”结尾的a节点 |
not() |
对当前表达式取反 | //div[not(@class)] |
选择没有class属性的节点 |
【Xpath】 xpath语法总结的更多相关文章
- Xpath基础语法学习
背景: 之所以学习Xpath,是因为在学习selenium定位页面元素,总是定位不到元素.为了更好的开展自动化测试,先学习下Xpath. 一:Xpath是什么. 1:Xpath是一门在XML文档中查找 ...
- 转载:XPath基本语法
出处:http://www.cnblogs.com/Miko2012/archive/2012/10/26/2740840.html XPath的语法最基本的节点之间用/,属性用@,还有几个函数记住了 ...
- XPath的语法
XPath 是XML的查询语言,和SQL的角色很类似.以下面XML为例,介绍XPath 的语法. <?xml version="1.0" encoding="ISO ...
- ios中XPath的语法
在XML的读写中,我们知道有Xpath的语法 1.定位节点:(/)代表绝对的路径,代表起始地位置.(//)表示文件中所有符合模式的元素都会被选出来,即使是处于树中不同的层级也会被选出来 2.KissX ...
- python爬虫xpath的语法
有朋友问我正则,,okey,其实我的正则也不好,但是python下xpath是相对较简单的 简单了解一下xpath: XPath 是一门在 XML 文档中查找信息的语言.XPath 可用来在 XML ...
- xpath的chrome插件安装,xpath基本语法
xpath插件安装: 注意:提前安装xpath插件 (1)打开chrome浏览器 (2)点击右上角小圆点 (3)更多工具 (4)扩展程序 (5)拖拽xpath插件到扩展程序中 (6)如果crx文件失效 ...
- [Python 练习爬虫] XPATH基础语法
XPATH语法: // 定位根标签 / 往下层寻找 /text() 提取文本内容 /@xxx 提取属性内容 Sample: import requests from lxml import etree ...
- Selenium2+python自动化-xpath定位语法
前言 在上一篇简单的介绍了用工具查看目标元素的xpath地址,工具查看比较死板,不够灵活,有时候直接复制粘贴会定位不到.这个时候就需要自己手动的去写xpath了,这一篇详细讲解xpath的一些语 ...
- XPATH基本语法
1.XPATH与自动化之间的关系 1.XPATH是一门在XML文档中查找信息的语言.XPATH可用来在XML文档中对元素和属性进行遍历. 2.XPATH是用来选择"节点"的一种基于 ...
- Python爬虫基础讲解(七):xpath的语法
xpath语法 XPath使用路径表达式来选取XML文档中的节点或者节点集.这些路径表达式和我们在常规的电脑文件系统中看到的表达式非常相似. 下面列出了最有用的表达式: 在下面的表格中,我们已列出了一 ...
随机推荐
- React支持less操作
React支持less操作 1.执行暴漏命令 npm run eject 2.输入" Y " 确认 这时候发现config文件夹没暴漏出来,是因为git没有暂存,得执行如下命令: ...
- For循环用法-打印乘法表
for循环可以遍历某一对象(遍历:通俗点说,就是把这个循环中的第一个元素到最后一个元素依次访问一次).for循环的结构如下 具体例子打印乘法表: #打印乘法表: for i in range(1, ...
- 【Linux 中断】红外接收器设备驱动
一.概述 现在很多家电都使用了红外,而智能家居的诞生,连音响都带了红外遥控功能.为了解决家里遥控器比较多的情况,多数手机都支持了红外功能,这和以前的万能遥控器一样.这里主要记录红外接收的驱动,当然明白 ...
- 继续Vue的探索
接上集 上次到了想要利用Vue实现隔行变色的请求,但是由于使用的代码过于"高级"导致无法识别,这就需要利用webpack来解决它! webpack的基本使用 1.首先,在项目中安装 ...
- FWT/快速沃尔什变换 入门指南
来学点好玩的. 引入 我们也许学过,\(FFT\) 可以解决一类卷积: \[C_i=\sum^{k+j=i} A_iB_j \] 现在我们稍微变一下式子: \[C_i=\sum^{i=k \And j ...
- 自己动手从零写桌面操作系统GrapeOS系列教程——18.外设和IO
学习操作系统原理最好的方法是自己写一个简单的操作系统. 一.外设和I/O接口 前面我们介绍过冯·诺依曼结构包含5部分,其中输入设备和输出设备统称为外部设备,简称外设.常见的外设有鼠标.键盘.显示器.硬 ...
- PTA题目总结
(1)前言:第一次题目集主要考察JAVA的一些语法知识,比如,控制台的输入,输出时保留两位小数,数组的使用,第十题有点难度,当时没写出来,现在想想 也还好,就是读懂题目有点费劲,第一次题目的题量比较大 ...
- window计时器函数
// 定时器: // 计时器 // 开启:setInterval() // 参数1:回调函数 // 参数2:毫秒数 // 功能:每个指定的毫秒数执行一次回调函数 demo: var t = setIn ...
- C++的一些随笔(第一篇)
C++中 ->的作用 ->用于指针 ->用于指向结构体的指针 ->用于指向结构体的指针,表示结构体内的元素 #include<stdio.h> struct ro ...
- 6步带你用Spring Boot开发出商城高并发秒杀系统
摘要:本博客将介绍如何使用 Spring Boot 实现一个简单的商城秒杀系统,并通过使用 Redis 和 MySQL 来增强其性能和可靠性. 本文分享自华为云社区<Spring Boot实现商 ...