XPATH定位的一般使用方法

XPath常见用法示例,XPath基础语法 XPath(XML Path Language)是一种用于在XML文档中查找信息的语言,广泛应用于HTML解析、网页抓取、Web自动化测试等领域。本文将详细介绍XPath的基本语法,并提供常见用法示例,帮助您更好地理解和使用XPath。 阅读详情

一、Xpath定位表达式的二种写法:

绝对定位:以“/”开头,相对的是Dom文档的根节点。如,“/html/body/div[2]/div/…”,由于绝对路径不可靠,在页面改动的时候很容易使定位信息失效,所以不建议使用。在定位信息不好选,而需要做调试的时候可以作为临时定位方式

相对定位:以“//”开头,相对的是当前的Dom文档,也可以是相对于当前所选取的节点对象。如,//*[@class=’hello’], 表示匹配当前Dom文档对象中所有class=’hello’的节点对象,或“//div[@class=’hello’]//*[contains(text(),’hi’)] 表示查找的节点在//div[@class=’hello’]下,没有层级关系,只要先定位//div[@class=’hello’]节点,在此节点之下所有包含文本为“hi”的节点都可以匹配到;

二、Xpath常用的定位方法:

以节点文本值作为定位基准:

1、text()函数 – 文本完全匹配(精确匹配)

写法://span[text()=’我是一个兵’]:匹配文本为“我是一个兵”的节点

该函数要求要查找的元素的文本内容与页面中元素实际的文本内容完全匹配,如,要匹配text()=’hello’, 则页面中节点的文本值必须是’hello’,且页面元素的文本内容不能有空格之类的

2、contains()函数 – 文本包含(模糊匹配)

写法: //a[contains(text(), ‘新建应用’)]:匹配文本包含“新建应用”的节点

该函数要求要查找的元素的文本值只要连续地完全包含在页面元素实际的文本中即可匹配,包含的位置不限。

排除包含指定文本值的节点:not(contains()):

//a[not(contains(text(),'创建您的产品')) and not(contains(text(),'立即注册使用'))]

文本定位用这二个基本就可以了

以节点属性作为定位基准:

1、属性值完全匹配(精确匹配)  -  //元素名[@属性名=’属性值’]:

2、属性值包含(模糊匹配) - //元素名[contains(@属性名, ‘属性值’)]:

starts-with(): 指定以什么开头,常用的可以是节点的文本值以什么开头,也可以是节点的属性值以什么开头

多条件选取定位  -  and 、 or:

当用一个条件无法准确定位节点时,如有多个条件可选择,则可选择多条件:

  and 、 or(不常用) 关键字

多路径选择:

多路径用“ | ”表示,可用于利用不同的条件选取同一个节点的选取,也可用于选择不同的节点

not()函数的简单用法:

用于排除包含指定文本的节点, not也可用于排除指定的节点本身

相对当前所选节点定位:

以轴为基准定位:

Xpath中一个很重要的东东,叫“轴”,所谓“轴”就是在我们不能直接定位到一个想要的元素时,可以选取一个好定位的元素作为“中心点”,再围绕这个中心点去定位我们的目标元素,这个“中心点”就是轴。

    在轴定位中,我们不可避免地要用到的如下几个东东:

兄弟节点定位写法:

        //div/following-sibling::span  -  后兄弟节点

        //span/preceding-sibling::div  -  前兄弟节点

        /  - 子节点

        /../div  - 父节点下的子节点

        ..  - 父节点

https://i-blog.csdnimg.cn/blog_migrate/f0f42d9b4a7bff4f546238981176b7aa.png

 

xpath语法详解 # 从根节点开始// # 选择匹配的任何位置. # 当前节点.. # 父节点@ # 选择属性[node] # 选取所有node子元素[@attr] # 选取带有attr属性的所有元素。 阅读详情

相关推荐

【工作记录】”八大方法定位、XPATH定位“总结

Selenium八大元素定位法_selenium webdriver元素定位的八种常用方式 - 测试控 - 博客园-优快云博客。

m0_46582389的博客 900

xpath选择器

Xpath选择器 Xpath语法简介 前面我们学习了CSS 选择元素。 大家可以发现非常灵活、强大。 还有一种 灵活、强大 的选择元素的方式,就是使用Xpath表达式。 XPath (XML Path Language) 是由国际标准化组织W3C指定的,用来在 XML 和 HTML 文档中选择节点的语言。 目前主流浏览器 (chrome、firefox,edge,safari) 都...

wbj_code_life的博客 679

XPath入门 Selenium使用Xpath定位

Xpath介绍,语法,节点类型,数据类型,以及Selenium自动化中使用简单的Xpath定位

HONGTester的博客 2299

XPath路径表达式

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

2303_81990289的博客 2462

XPath语法全面总结

的全面总结,并附有具体的。轴用于相对定位其他节点。

weixin_45476869的博客 759

PCB中的CAF深度剖析与对策研究

摘要:本文系统研究了PCB板的导电阳极丝(CAF)问题,阐明了CAF是在电场作用下铜离子沿玻纤微裂通道迁移形成导电丝的现象,其形成需铜、水汽、电解质、偏压和迁移通道五个条件。CAF会导致PCB绝缘性能下降和信号传输异常,严重影响电子产品可靠性。研究提出了板材选择、钻孔工艺控制、叠板结构优化等预防措施,以及增大孔距、错位排列等设计注意事项,并介绍了IPC-TM-650-2.6.25测试标准。未来应在耐CAF材料、测试技术和制造工艺方面深入研究,以提升PCB可靠性。(150字)

2401_84691632的博客 1704

Selenium元素定位的八种方法(建议收藏)

自动化一般需要四步操作:获取元素,操作元素,获取返回结果,断言(返回结果与期望结果是否一致),最后自动出测试报告。Selenium提供8种元素定位的方法:id,name,class name,link text,xpath,css selector,tag name ,partial link tex。

m0_47485438的博客 776

Web3前沿技术的智能合约安全审计

随着Web3技术的快速发展,智能合约作为区块链应用的核心组件,其安全性问题日益突出。本文旨在系统性地介绍智能合约安全审计的技术体系,帮助开发者理解智能合约安全风险,掌握安全审计的方法论和工具链。智能合约安全的基本概念常见漏洞类型及其原理安全审计的技术方法实际审计案例分析安全审计工具和资源首先介绍基本概念和背景然后分析常见漏洞和安全风险接着详细讲解安全审计技术提供实际案例和代码示例最后讨论工具资源和未来趋势智能合约:运行在区块链上的自执行程序,代码即法律安全审计。

AI天才研究院 1546

xpath定位元素方法_Web自动化测试:页面元素的定位方法

这一节,我们介绍一下页面元素定位的八种方式和如何通过火狐和谷歌浏览器获取元素定位信息.页面元素的定位方法html页面是有一个个的标签组成的,我们定位元素其实就是定位这些标签。首先来看一下有哪儿几种定位方式:idnameclass nametag namelink textpartial link textxpathcss selector一共八种定位方式,其实常用的定位方式也有:xpath、css...

weixin_39927861的博客 641

手把手教你用Ollama & AnythingLLM搭建AI知识库,无需编程,跟着做就行!

本地运行大模型耗资源,需要选择较小的模型作为基础模型。在终端中运行时可能会出现 CUDA 错误,表示显存不足,导致提供的端口失效。中文支持不够完善。\3. 文中提到的技术软件工具有:Ollama、Chatbox、Open WebUI、向量数据库、嵌入模型、本地模型 Gemma、AnythingLLM。

2401_86435672的博客 1万+

极路由 极1s J1S hc5661 刷padavan固件

极路由1S刷机指南 准备工作: 下载Breed不死固件 通过WinSCP上传或直接wget获取 执行mtd命令写入Breed 关键步骤: 进入Breed控制台(按住Reset键开机) 备份原厂固件和密钥 下载Padavan固件(RT-N14U-GPIO-12-xiaodu-ji1S-128M.trx) 刷机过程: 在Breed控制台更新固件 等待自动重启完成 初始设置: 管理地址:192.168.123.1 默认账号:admin/admin 无线名称:PCDN 无线密码:1234567890 注意事项:切勿

SimonLiu的博客 1302

xpath定位(全)

xpath定位(全)简介1. 绝对定位:2. 相对路径:3. 标签属性定位:4. XPath Axes(轴)和Step(步) xpath是一种在xm文档中定位的语言,详细简介,请自行参照百度百科,本文主要总结一下xpath的使用方法,个人看法,如有不足和错误,敬请指出。 注意:xpath的定位 同一级别的多个标签 索引从1开始 而不是0 简介 选取节点 XPath 使用路径表达式在 XML 文档中选取节点。节点是通过沿着路径或者 step 来选取的。 示例 谓语(Predicates) 谓语用来查找某个

Orchestrator_me的博客 1万+

新手必看!一步步教您如何获取可用的D音Cookie(为什么我复制的D音Cookie无法正常使用?)

新手必看!一步步教您如何获取可用的抖音Cookie(为什么我复制的抖音Cookie无法正常使用,无法下载无水印视频?)

XiaoqiangClub的博客 1491

史上最全的xpath定位方法 全在这了!

Xpath常用的定位方法 相信做过selenium UI自动化的朋友都知道,工作中大部分的元素定位都是使用xpath进行定位,所以xpath是UI自动化工作中非常重要的一个环节,所以我单独整理出来一篇博客出来~~希望对大家有帮助~ last()方法 当标签存在多个相同的时候,可以使用xpath中的last()方法,定位到最后一个 //标签名[last()] //span/ul//li[last()] 如果我们要定位到倒数第二个,可以在last() 后面加上 -1,代表倒数第二个 //标签名[last(

weixin_43865008的博客 8万+

以太网_RGMII接口与GMII接口的转化_03

RGMII接口转GMII接口!

weixin_42499230的博客 378

Playwright MCP:开启浏览器自动化的新篇章

在当今数字化时代,浏览器自动化技术在众多领域发挥着至关重要的作用,从简单的网页爬取到复杂的自动化测试,再到智能代理与网页的交互等场景,都离不开高效、可靠的浏览器自动化工具。而微软推出的项目,正是在这一领域的一次创新性探索,它为开发者带来了全新的视角和强大的功能支持。本文将深入探讨的概念、架构、代码示例、应用场景、注意事项以及未来发展方向,帮助读者全面了解这一前沿技术。

加入“Super Entity”,与全能开发团队共探AI智能体与数字人项目,开启前沿技术之旅。 5263

如何使用Xpath定位元素(史上最清晰的讲解)

目录 动态web元素 XPath Selenium选择器 绝对路劲和相对路径 绝对路径 相对路径 使用XPath为元素定位 1.标签,属性,值 2.Contains 3. Starts-with 4. Chained XPath Declarations 5. 6. XPath with “or” Statement 7. XPath Text 8. Ancestor 9. Following 1...

qq_43022048的博客 4万+

华为OD面试手撕真题 - 最大数

华为OD面试手撕真题 最大的数 提供Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解

qq_45776114的博客 340

高级定位方法之XPath定位

八大元素定位之XPath定位。

m0_65609816的博客 3611

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

python—selenium —xpath定位方法详解

前言 今天我们来聊聊selenium -- xpath定位方法,我们都知道selenium有八大定位策略分别是id、name、class name、tag name、link text、partial link text、xpath、css 。那么我们今天呢主要来讲讲八大定位策略中的xpath的定位方法,废话不多说我们直接开始吧。 一、xpath基本定位用法 1.1 使用id定位 -- driver.find_element_by_xpath('//input[@id="kw"]') ​1.

qishuzdh的博客 1万+

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

xpath定位和css定位对比

xpath定位和css定位对比 xpath定位和css定位对比 实际项目中使用较多的是xpath定位和css定位。XPath是XML文档中查找结点的语法,换句话就是通过元素的路径来查找这个元素。xpath比较强大,而css选择器在性能上更优,运行速度更快,语法上更简洁。比较两种方法: 直接子元素 XPATH中的直接子元素是使用“/”定义的,而在CSS上,它是使用“>”定义的。 XPATH://div/input CSS: div>input 后代元素 如果一个元素在另一个元素的内部(子元素或者

暖暖的博客 8735

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

Selenium—xpath定位方法

今天我们来聊聊selenium -- xpath定位方法,我们都知道selenium有八大定位策略分别是id、name、class name、tag name、link text、partial link text、xpath、css 。那么我们今天呢主要来讲讲八大定位策略中的xpath的定位方法,废话不多说我们直接开始吧。1.1 使用id定位 -- driver.find_element_by_xpath('//input[@id="kw"]')​1.2 使用class定位 -- driver.find_

huace3740的博客 1662

selenium XPath定位详解

XPath 使用路径表达式来遍历 XML 树,并且支持多种功能,如节点选取、字符串匹配、数值计算、逻辑运算等,可以帮助用户准确定位到文档中所需的节点或内容。XPath 的语法类似于文件系统路径,通过使用斜杠(/)、双斜杠(//)、方括号([])等符号来描述节点之间的层次关系和属性条件,从而实现对 XML 结构的灵活查询和筛选。XPath 在 XML 数据处理、Web 抓取、XSLT 转换等领域广泛应用,为处理和操作 XML 数据提供了强大的工具和方法。获取first item文本。

itxnk的博客 2764

使用xpath定位元素

一、xpath的基本语法 xpath(query) :返回query表达式对应的所有节点的selector list。 >>> response.xpath('//div[@class="quote"]//small/text()') [<Selector xpath='//div[@class="quote"]//small/text()' data='Albert...

loner_fang的博客 5万+

史上最全的xpath定位方法

例如,要查找具有class属性值为"foo"并且id属性值不是"bar"的元素,可以使用XPath表达式//*[@class="foo" and not(@id="bar")]。例如,要查找所有具有class属性的元素,可以使用XPath表达式//*[@class]。XPath: //div[@class="container"]/h2 或 //div[@class="container"]/p。=======================分割线==========================

架构师 1万+

selenium元素定位总结 - xpath定位高级用法

find_element_by_partical_link_text:通过部分链接内容进行匹配查找,只返回匹配到的一个元素。find_element_by_class_name:通过class名称进行匹配查找,只返回匹配到的一个元素。find_element_by_tag_name:通过标签名称进行匹配查找,只返回匹配到的一个元素。find_element_by_name:通过name进行匹配查找,只返回匹配到的一个元素。find_element_by_id:通过ID进行匹配查找,只返回匹配到的一个元素。

lw的博客 4469
上一篇: selenium UI自动化三大类:Driver、Element、By
下一篇: python多线程与GIL的关系--接口测试
TCH Test
博客等级 码龄7年 27粉丝 31原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值