【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文档中的节点或者节点集.这些路径表达式和我们在常规的电脑文件系统中看到的表达式非常相似. 下面列出了最有用的表达式: 在下面的表格中,我们已列出了一 ...
随机推荐
- 部门mysql操作
use test_db; -- 删除表 drop table if exists t1_profit; drop table if exists t1_salgrade; drop table i ...
- sqlserver数据库连接数相关问题
sql语句监控连接数量 SELECT ec.client_net_address , es.[program_name] , es.[host_name] , es.login_name , COUN ...
- win10修复系统
DISM.exe /Online /Cleanup-image /Restorehealth sfc /scannow
- kong数据库postgre centos安装一条龙
安装版本可以参考kong.conf PostgreSQL版本,这里要求9.5以上 https://www.cnblogs.com/zhi-leaf/p/11432054.html 安装rpm文件 #y ...
- NOIP2021 T1 报数 题解
AFO了,来最后写一波题解. T1 不算阴间,题意很直白,所以想先顺着题意打一波模拟. 算一下,发现 1e7 的 $O(nlog(n))$ 时间复杂度好像可以直接过( 实际上是$O(nloglog(n ...
- 对于利用js实现表单的验证问题--其实菜鸟教程都有啦,但还是想要记录一下
关于利用js实现表单的验证的实现 在jsp页面里面加上名为的标签,然后将以下代码跟奴自己的变量放进去: 记得要放在function的方法里面!!! 之后就需要在form标签里面加上onsubmit=& ...
- Java并发小结01
Java并发小结01 主要参考自<实战Java高并发程序设计>. 需要知道的概念 - 同步与异步 - 并发与并行 - 临界区 - 阻塞与非阻塞 - 死锁.饥饿.活锁 同步与异步 同步:同步 ...
- maui BlazorWebView+本地html (vue、uniapp等都可以) 接入微信sdk 开发 Android app
首先添加微信sdk的绑定库 nuget 包:Chi.MauiBinding.Android.WeChat 项目地址:https://github.com/realZhangChi/MauiBindin ...
- Mybatisplus----DML编程控制
乐观锁 (1)业务并发现象带来的问题:秒杀 执行: 1.在类对象中添加version属性,在数据库表中添加version字段(默认值为1) package com.itheima.domain; im ...
- day08-自定义转换器&处理JSON&内容协商
自定义转换器&处理JSON&内容协商 1.自定义转换器 1.1基本介绍 SpringBoot 在响应客户端请求时,将提交的数据封装成对象时,使用了内置的转换器,也就是自动帮我们封装对象 ...