当前位置: 首页 > news >正文

xpath定位

一、路径符号核心区别(表格速查)

符号名称作用范围典型使用场景性能影响
/单斜杠./ 相对路径直接子级, /绝对路劲-根路径精确层级定位高效
//双斜杠//当前元素下开始查找,可以跨嵌套层模糊层级/跨嵌套定位较低效

一、XPath基础定位类型(适合小白入门)

绝对路径定位

示例:/html/body/div[2]/div[3]/span
特点:从根节点开始逐层查找,像文件路径
缺点:路径长且容易受页面结构调整影响

相对路径定位

示例://div//span 或者 .//div/span
特点:用双斜杠//表示任意层级,更灵活
作用:查找所有div下的任意层级的span标签

示例2:./div 相对当前元素的直接子元素div

标签名+属性定位

示例://input[@id=“username”]
解析:查找所有input标签中id属性等于"username"的元素
常用属性:@id、@class、@name、@type等

模糊匹配定位

示例1://div[contains(@class, “page”)]
作用:查找class属性包含"page"的div
示例2://a[starts-with(@href, “https”)]
作用:查找href属性以https开头的链接

文本内容定位

示例://button[text()=“提交”]
进阶://h2[contains(text(), “最新消息”)]
注意:text()方法对隐藏文本可能无效

二、进阶定位技巧(需要理解DOM结构)

6. 索引定位

示例://ul/li[3]
作用:选择第三个li元素(注意索引从1开始)
风险:页面结构变化时容易失效

逻辑运算符

示例://input[@type=“text” and @required]
组合条件:and/or 连接多个条件

通配符使用

示例1://[@class=“item”] 匹配任何标签
示例2://div[@] 匹配有任意属性的div

三、高级轴定位(处理复杂文档结构)

9. 父子关系

parent轴://span/parent::div
child轴://ul/child::li
后代: //ul/descendant:😗

descendant-or-self

兄弟关系

当前节点之前的所有同级节点:following-sibling://h3/following-sibling::p

当前节点后的同级节点:preceding-sibling://span/preceding-sibling::a

祖先关系

所有先辈: ancestor轴://em/ancestor::div[@class=“container”]

后代关系

所有后代:descendant轴://div[@id=“main”]/descendant::img

//div[contains(@class, ‘chapter-name’)]/parent::div/following-sibling::div[position() <= 20]

http://www.dtcms.com/a/111291.html

相关文章:

  • 康拓展开补充:逆康拓展开
  • 强化中小学人工智能教育:塑造未来社会的科技基石
  • Linux C++编译及g++使用操作
  • Python集合(五)
  • PostgreSQL 删除数据库
  • Vanna:用检索增强生成(RAG)技术革新自然语言转SQL
  • 深入解析大型应用架构:以dify为例进行分析
  • goto在Java中的用法
  • 架构与大数据-RabbitMQ‌和Kafka的技术实现异同及落地场景上的异同
  • 数据库相关简介
  • MINIQMT学习课程Day9
  • leetcode 代码随想录 数组-区间和
  • Cortex-M 上编写汇编函数
  • 01-STM32(介绍、工具准备、新建工程)p1-4
  • 重要头文件下的函数
  • [Python学习日记-89] 并发编程之多进程 —— 共享数据、信号量、事件、进程池
  • 【nginx】Nginx的功能特性及常用功能
  • PostgreSQL:表分区与继承
  • OBS录制的一些日志
  • python如何把列表中所有字符变成小写
  • GATT(Generic Attribute Profile)是蓝牙低功耗(Bluetooth Low Energy,简称BLE)协议栈中的一个核心协议
  • 【蓝桥杯】算法笔记3
  • 函数栈帧的创建与销毁
  • 言语理解与表达
  • 实战交易策略 篇十四:江南神鹰捕捉热点和熊市生存交易策略
  • 专为 零基础初学者 设计的最简前端学习路线,聚焦核心内容,避免过度扩展,帮你快速入门并建立信心!
  • 第15周:注意力汇聚:Nadaraya-Watson 核回归
  • 生成 SSH Key 并配置 GitHub/GitLab 详细教程
  • 深入理解AOP:面向切面编程的核心概念与实战应用
  • ctfshow VIP题目限免 robots后台泄露