xpath表达式学习总结

Selenium自动化测试学习笔记--xpath表达式 Xpath是在XML文档中查找信息的一种语言,使用路径表达式来选取XML文档中的节点或节点集,由于XML与HTML结构类似(前者用于传输数据,后者用于显示数据),所以Xpath也常用于查找HTML文档中的节点。 阅读详情

获取所有节点

获取符合某一特征的所有节点,用//
比如:获取a标签的所有节点,使用//a
比如:获取所有class为"m-b-sm"的h2节点,使用//h2[@class=“m-b-sm”]

获取子节点

获取某个节点下符合某一特征的所有子节点,使用/
比如:获取a标签下的h2节点,使用//a/h2

获取父节点

获取某个节点的父节点,使用/…/*和/…/@属性(这里应该是两个. ,由于编辑器的原因,成了三个.)
比如:获取a标签的所有父亲节点,使用//a/…/*(这里应该是两个. ,由于编辑器的原因,成了三个.)
比如,获取a标签的所有父亲节点的class属性,使用/…/@class(这里应该是两个. ,由于编辑器的原因,成了三个.)

也可以用/parent::*和/parent::/@属性,这种方式的能力比…/强。
比如:获取a标签的所有父节点,使用//a/parent::*
比如:获取a标签的所有父节点的class属性,使用//a/parent::/@class
比如:获取a标签的所有父节点中所有class属性为"bird"的父节点,使用//a/parent::[contains(@class,“bird”)]这种取值方式用…/是无法实现的

获取祖先节点

获取所有祖先节点,使用/ancestor::*
比如:获取a标签的所有祖先,使用//a/ancestor::*
**这个会直接找到最高一层的html节点,因此,其实作用不是很大

获取祖先节点中所有的div节点://a/ancestor::div

获取儿子节点

获取儿子节点使用/child::
获取所有的儿子节点:/a/child:: *
获取所有儿子节点中,class为name的li节点:/a/child::li[@class=“name”]

获取儿孙节点

获取儿孙节点使用/descendent::
获取所有儿孙节点:/a/descendent:: *
获取所有儿孙节点中的li节点:/a/descendent::li

获取当前节点后的所有节点

获取当前节点后的所有节点使用/following:: *
获取当前节点后的第2个节点:/a/following:: *[2]

获取当前节点后的所有同级节点

获取当前节点后的所有同级节点使用/following-sibling:: *

筛选出满足单个属性值的节点

当属性只有1个值的时候:
使用[@属性=“xxx”]可以获取属性为xxx的节点
比如获取class属性为"name"的所有li节点,使用//li[@class=“name”]
当属性有多个值的时候:
使用[contains(@属性名,属性值)]
有时一个标签的某个属性会有多个值,比如<–a class=“name blue” > <–/a>中,a标签的class属性就有两个属性值,如果此时想要获取所有使用了name类的a标签,该怎么过滤呢?可以使用//a[contains(@class,“name”)]

筛选出满足多个属性值的节点

使用and符号,可以筛选出同时满足多个属性值的节点
比如获取class=name,同时type=button的a标签,则为//a[@class=“name” and @type=“button”]
比如获取class包含name,同时type=button的a标签,则为//a[contains(@class,“name”) and @type=“button”]

获取文本值

获取文本值使用/text()方法。
比如获取h2标签的文本值,可以使用//h2/text()
这里要注意的是,如果标签有子标签,则text()会获取到换行符,换行符也属于标签的文本。这种情况下,如果使用/text(),获取的将全都是换行符,只有使用//text()才会获取到子标签中的文本。如果不想要换行符,最好是在子标签后使用换行符。
比如想要获取a标签的子标签h2的文本,则使用//a/h2/text()。

获取属性值

获取属性值使用/@属性的方法
比如获取h2的class属性值,可以使用//h2/@class
比如获取a标签的链接值,可以使用//a/@href

按照位置取元素

取第一个li元素: //li[1] 注意,就是从1开始数,而非从0开始数
取最后一个li元素://li[last()]
取前两个li元素: //li[position()❤️]
取倒数第3个li元素://li[last()-2]

Chrome_Xpath插件:简化XPath网页元素查询 XPath 是一种在 XML 文档中查找信息的语言,它是用于在 XML 文档中进行节点选择的一种语法。由于其强大的查询能力,XPath 也被广泛应用于 HTML 文档。XPath 的设计思想类似于文件系统中的路径,通过路径表达式来定位文档中的节点,从而实现对文档内容的操作和提取。XPath 支持丰富的轴 (Axes),这让我们可以根据节点与当前节点的关系来选择节点,比如父节点、子节点、兄弟节点、祖先节点等。 阅读详情

相关推荐

Office如何通过VSTO进行WORD插件开发?

VSTO(Visual Studio Tools for Office )是VBA的替代,是一套用于创建自定义Office应用程序的Visual Studio工具包。VSTO可以用Visual Basic 或者Visual C#扩展Office应用程序(例如Word、Excel、PPT)。本文通过VSTO进行Word插件开发总结,并进行记录。

【cacrle】的博客 7319

XPath入门

XPath是一种用于在 XML 文档中检索信息的语言。它通过路径表达式导航 XML 文档,广泛应用于各种场景。XPath的灵活性和强大功能使其成为在XML结构中准确定位和提取数据的重要工具。

冰万森的博客 1万+

超实用!用ChimeraX对AlphaFold 结果可视化(中): 蛋白结构美化篇

而一般需要的背景颜色是无色(白色),有三种方法可以更改背景颜色,这里我们介绍两种方法,第三种在下一小节中讲解。如果想选中蛋白链中的某一结构区域或者某些位点,可以用Ctrl+Shift+鼠标左键,或在软件窗口中点击。在这个窗口中可以对蛋白的主链、侧链、表面等颜色进行修改,只用在。,即可在右下角看到我们蛋白的序列信息,在这里面直接用鼠标选择要选择的结构域。就会有更多的颜色供我们选择,如果有特定的色号还可以在这个界面继续选择。后面的颜色(②),就可以选择想要的任何背景颜色(③)。就可以选择软件推荐的常用颜色。

m0_63153079的博客 5483

爬虫XPath相关

刚刚的//span[@class="appellation"]和现在的//ul[@id="div"]/li/a/@title,它们的格式是怎么样的,怎么一会有两个/一会只有一个/,一会是/一会是中括号[],还有@,这些都是什么?首先,对于这里的'//span[@class="appellation"]',它实际上是通过查看页面的源代码(HTML结构)得来的。而 //ul[@id="div"]表示只查找id属性等于"div"的<ul>标签。[@id="div"]:筛选出id属性等于"div"的<ul>标签。

Wzasty的博客 1630

倍福TC3 PLC高速采集实战:如何用PLC-Recorder实现0.24ms级时间戳同步

本文详细介绍了倍福TC3 PLC与PLC-Recorder实现0.24ms级时间戳同步的工程实践方案。通过硬件拓扑设计、时间源选择优化、报文结构封装及同步验证方法,为工业自动化领域的高精度数据采集提供了可靠解决方案,特别适用于精密装配、激光切割等微秒级同步要求的场景。

weixin_29193359的博客 372

解决vLLM安装卡在vllm-nccl-cu12依赖项的实战指南

本文提供了解决vLLM安装过程中卡在vllm-nccl-cu12依赖项的详细指南。通过分析CUDA版本兼容性问题,介绍了三种实用解决方案:安装指定版本vLLM、手动安装nccl-cu12依赖以及升级CUDA到12.x版本,并特别针对离线环境提供了安装建议,帮助开发者顺利完成vLLM的安装部署。

weixin_29098367的博客 514

XPath路径表达式

节点(Java入门、科技周刊),无论它们在什么层级。节点(Java入门、科技周刊),无论它们在什么层级。:当你在某个节点内部继续查找时使用。:当你在某个节点内部继续查找时使用。看完你一定能掌握核心要点!可省略,直接写子元素路径)可省略,直接写子元素路径)节点(小明、小红)。节点(小明、小红)。,完整地逐层写路径。,不需要以根为起点。,无论元素在哪一层。//元素[@属性名],完整地逐层写路径。,不需要以根为起点。,无论元素在哪一层。//元素[@属性名]

2303_81990289的博客 2462

Ardupilot姿态控制详解(完结篇)

本文主要是对过去写的一些APM中姿态控制流程及函数博文的汇总。 按照之前写的博文以及个人认为的学习顺序,给出APM姿态控制器的学习顺序如下: APM姿态旋转理论基础 Ardupilot姿态控制器 PID控制流程(整定后的P控制器) 详解APM的开方控制器sqrt_controller Ardupilot前馈及平滑函数input_euler_angle_roll_pitch_yaw解析 Ardupilot倾转分离函数thrust_heading_rotation_angles Ardupilot四元数姿态控制

moumde的博客 7024

xpath表达式学习

xpath表达式学习

xiemqlanmei的博客 185

SAP_SD模块信用管理-最早未清项判断逾期

在 SAP SD 模块的信用管理(Credit Management) 中,系统可以通过 最早未清项(Oldest Open Item) 来判断客户是否存在逾期,从而影响订单的信用检查结果。例如: 定义最大未清项目%为1%,未清天数为1天,即允许客户“逾期1天的未清应收帐款/该客户的应收帐款余额”最大比例为1%,若超过1%则将被信用冻结。的信用检查功能,用于判断客户是否有账龄过长的未清款项,并据此决定是否允许新的销售订单继续处理。然后在查看客户的信贷信息可以看到,最早的未清信息显示在系统中。

我小时候很黑的博客 862

Gmsh+OCC对应版本库编译

输入 GMSH_DLL_EXPORT值C:\LIB\OCCT-7_8_0-i;9、如果只是生成库文件编译gmesh工程即可生成文件在C:\LIB\Gmsh\gmsh-4.13.1-Windows64-B\Debug 下gmsh.dll、gmsh.lib、gmsh.h、gmshc.h文件;3、CMAK编译Gmsh对应OCC版本的,CMAK选择源文件路径C:\LIB\Gmsh\gmsh-4.13.1-source,生成构建文件路径C:\LIB\Gmsh\gmsh-4.13.1-Windows64-B。

u013401364的博客 411

XPATH如何选择,t选取,包含某一属性的节点, 不包含某一个属性的节点?

https://blog.youkuaiyun.com/manmanpa/article/details/56282741 //tbody/tr[@class] 包含 //tbody/tr[not(@class)] //tbody/tr[not(@class or @id)] 不包含 ,,, 注意 使用() 转载于:https://www.c...

weixin_30656145的博客 1364

华为OD 面试手撕代码真题【岛屿的周长】

0代表水,1代表陆地,岛由陆地组成且岛内不允许有湖,让你求岛的周长。

MISAYAONE的博客 8417

XPath表达式学习

XPath表达式学习是写UI自动化关键的一步学习渠道而言w3school肯定是最好的教程。

测试开发 781

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

Xpath 表达式学习及例子

学习scrapy的使用(二)1.Xpath 表达式 1.Xpath 表达式 效率高,但是功能没有正则表示式强大。一般选择正则表达式。不能解决就用正则表达式。 xpath表达式: / 逐层提取 /html/head/title 实例: text() 提取标签下的文本 /html/head/title/text() //标签名** 提取所有**的标签 //div //标签名[@数学=‘属性值‘] ...

dayday学习的博客 1156

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

Python xpath表达式学习

Python XPath表达公式学习

W_X_C的博客 431

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

学习XPath:连续应用XPath表达式,有差别选取元素

学习XPath:连续应用XPath表达式,有差别选取元素需求:XPath选取一套试卷中所有小题的题干问题:大题的题干和小题的题干都一样实现: 需求:XPath选取一套试卷中所有小题的题干 问题:大题的题干和小题的题干都一样 每个小题的题干包含在<div class="qtext">中 <div class="qtext"> <p class="">现代调剂学已发展成为一门综合性、应用性学科,叙述正确的是(&nbsp; )。</p> </div&

LionKinglk的博客 312

XML学习1_xpath路径表达式笔记

简单说,xpath就是选择XML文件中节点的方法。 所谓节点(node),就是XML文件的最小构成单位,一共分成7种。 - element(元素节点) - attribute(属性节点) - text (文本节点) - namespace (名称空间节点) - processing-instruction (处理命令节点) - comment (注释节点) - ro

wang_zhenwei的博客 1124

JAVA学习笔记_XML解析及XPath表达式

1.DOM解析:基于DOM模型解析xml文件。一次性把xml文件加载进内存,然后在内存中构建Document树。比较消耗内存,并不适合读取容量大的xml文件。 1)DOM解析的原理:  xml解析引擎把一个xml文件一次性加载进内存,在内存中创建一颗document对象树。通过树上的对象获取或设置xml文件信息 2)基于dom解析原理工具 dom4j工具 3)dom4j使用方法(具体代码

MkCrawling's Blog 816

Python高级语法——正则表达式和XPath——学习心得笔记

Python高级语法——正则表达式和XPath——学习心得笔记 1. 正则表达式(Regular Expression) 正则表达式(Regular Expression)是一种文本模式 包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为"元字符") 正则表达式使用单个字符串来描述、匹配一系列匹配某个句法规则的字符串 常常用来检索,替换某些模式的文本 正则表达式写法 ...

Python美丽星球--微信(Felixzfb) 2358

Python爬虫学习笔记(三):从XPath到正则表达式

Python爬虫学习笔记(三):提取网页信息 网页信息的提取Python爬虫学习笔记(三):提取网页信息一.XPath结构节点坐标轴XML文档中的信息查找二.BeautifulSoup4安装使用方法三.正则表达式(re 模块)相关函数修饰符模式实例 一.XPath 结构化数据、半结构化数据和非结构化数据 结构 节点 坐标轴 XML文档中的信息查找 二.BeautifulSoup4 安装 使用方法 三.正则表达式(re 模块) 相关函数 修饰符 模式 实例 ...

YOU 2711

python爬虫——使用XPath选择HTML元素

一、什么是XPath XPath即为XML路径语言(XML Path Language),它是一种用来确定XML文档中某部分位置的语言。XPath 用于在 XML 文档中通过元素和属性进行导航。 XPath 使用路径表达式在 XML 文档中进行导航 XPath 包含一个标准函数库 XPath 是 XSLT 中的主要元素 XPath 是一个 W3C 标准 二、怎样学习XPath 个人推荐...

qq_39145959的博客 834

Oxygen xml editor如何执行xpath查询?

Oxygen xml editor如何执行xpath查询? 看图 0.任意打开一个xml文件 1.将oxygen xml editor调到editor界面 2.在图中标记为2的文本框中直接输入xpath表达式 输入完毕之后回车,结果就会在xml文件中被hightlight,如果输入的xpath表达式有错误,xml editor会提示,是学习xpath表达式的好方法! ...

Chenglin(Ben) Yu's Miracle 945

一起来学习XPATH,来看看除了正则表达式我们还能怎么抓取数据

参考学习的网站链接http://www.w3school.com.cn/xpath/xpath_intro.asp 首先理清楚一些常识 以此为例 <?xml version="1.0" encoding="ISO-8859-1"?> <bookstore> <book> <title lang="en">Harry Potte...

weixin_30538029的博客 210

jmeter正则表达式提取器_jmeter压测学习5XPath提取器

前言有些web项目是前后端不分离的,返回的内容不是那种纯进口返回json格式,返回的是一个HTML页面。并且有些参数是隐藏在html里面的,需要先从html页面中取出隐藏参数,如:csrfmiddlewaretoken场景案例我这里有个django项目的admin后台页面为案例输入账号和密码登录成功后,抓包发现除了账号和密码参数,还有一个参数csrfmiddlewaretoken,并且这...

weixin_39926016的博客 133

Xpath路径表达式及代码展示

什么是Xpath路径表达式 Xpath路径表达式是XML文档中查询数据的语言 掌握XPath可以极大的提高提取数据时的开发效率 学习XPath本质就是掌握各种形式的表达式的使用技巧 Xpath基本表达式 最常用的基本表达式 有如下示例: Xpath谓语表达式 在基本表达式之上增加了其他的选择条件: Jaxen jaxen是一个java编写的开源的XPath库。这里适应多种不同的对象模型,包括DOM, XOM, dom4j和JDOM, Dom4j的底层依赖Jaxen实现Xpat.

qq_41459262的博客 967
上一篇: Vue3学习总结
下一篇: CSS选择器学习总结
inside802
博客等级 码龄9年 66粉丝 68原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值