讲师中心 微信公众号
AI工具推荐 视频效率加速

XPath轴(Axes)怎么用 XPath轴选择节点方法详解

千枫同学_4441

千枫同学_4441

发布时间:2025-12-18 15:33:40

|

302人浏览过

|

来源于php中文网

原创

XPath轴是定位节点关系的核心机制,需用“轴名::节点测试[谓语]”格式,如child::div、parent::*、ancestor::form等,配合谓语可精准匹配动态结构中的目标节点。

xpath轴(axes)怎么用 xpath轴选择节点方法详解

XPath轴(Axes)是定位节点关系的核心机制,不是“额外功能”,而是理解父子、兄弟、祖先等结构的关键。它让XPath能跳出简单层级,按语义关系精准抓取目标节点。

常用轴及其典型写法

轴名必须后跟双冒号 ::,再接节点测试(如元素名、通配符 * 或谓语)。基本格式为:轴名::节点测试[谓语]。

  • child:: —— 选直接子节点,child::div 等价于简写 div(默认就是子轴)
  • parent:: —— 选父节点,parent::* 可回到上一级任意元素
  • ancestor:: —— 选所有祖先(含父、祖父等),ancestor::form 找到最近的包裹表单
  • following-sibling:: —— 选当前节点之后的同级节点,following-sibling::p[1] 取下一个 <p></p>
  • preceding-sibling:: —— 选当前节点之前的同级节点,preceding-sibling::h2[1] 取上一个标题
  • attribute:: —— 选属性,attribute::class 或简写 @class
  • descendant:: —— 选所有后代(不限层级),descendant::a 相当于 //a

为什么用轴,而不是只靠 // 或 /?

当页面结构动态、id/class缺失或重复时,仅靠标签名或路径容易错位。轴能锚定相对位置,提升稳定性。

财经HTML高端海报生成
财经HTML高端海报生成

复杂得财经如何变成清晰,适合手机看的海报?如何加上你的IP

下载
  • 比如按钮没 id,但总在某个提示文字后面:用 //span[text()="提交成功"]/following-sibling::button
  • 比如要取表格中某行的最后一个单元格:用 tr[3]/td[last()],其中 last() 是函数,但 tr[3] 的定位可依赖 ancestor::table 轴确保上下文正确
  • 避免误匹配:用 child::input 只找直接子 input;而 descendant::input 会钻进所有嵌套层——该用哪个,取决于 HTML 结构意图

轴 + 谓语的实用组合

轴本身只定义方向,真正筛选靠谓语(方括号里的条件)。二者配合才能解决复杂场景。

  • 找 class 包含 "btn" 的下一个兄弟按钮:following-sibling::button[contains(@class, "btn")][1]
  • 找所有带 data-role 属性的祖先 div:ancestor::div[@data-role]
  • 找前一个兄弟中文字为“备注”的 label:preceding-sibling::label[text()="备注"]
  • 排除隐藏元素:child::div[not(contains(@style, "display:none"))]

注意易错点

轴不是万能捷径,用错反而让表达式变脆弱。

  • 别滥用 descendant-or-self::(简写为 //)——全文扫描慢,且易跨区域匹配
  • self:: 和 . 功能一致,都指当前节点,但 . 更简洁,无需写轴
  • following:: 和 following-sibling:: 不同:前者包含所有后续节点(含子代),后者只限同级
  • 轴名区分大小写,必须小写,如 child:: 不能写成 Child::

基本上就这些。轴的本质是“以当前节点为起点,按关系走一步”,掌握好 child、parent、sibling、ancestor 这几个高频轴,再搭配谓语过滤,90% 的定位需求都能稳准解决。

热门AI工具

更多
讯飞智文

一款面向学习和办公场景的AI文档创作工具,可辅助生成PPT与Word文档,提高资料整理和内容制作效率。

讯飞智作

讯飞智作是一款AI视频创作工具,AI文本配音工具,数字人课程、营销视频制作。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

切问学术

切问学术是一款AI论文写作工具,复旦大学NLP团队推出的AI学术智能体。

火山引擎

火山引擎是一款面向企业的云计算与AI服务平台。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

UpDream
UpDream Hot

一款AI视频创作工具,主要用于哔哩哔哩推出的自研AI视频创作工具,适合需要提升相关任务效率的用户。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

讯飞绘文

讯飞绘文是一款由科大讯飞推出的一站式 AIGC 内容运营平台。

相关专题

更多
class在c语言中的意思
class在c语言中的意思

在C语言中,"class" 是一个关键字,用于定义一个类。想了解更多class的相关内容,可以阅读本专题下面的文章。

4416

2024.01.03

python中class的含义
python中class的含义

本专题整合了python中class的相关内容,阅读专题下面的文章了解更多详细内容。

326

2025.12.06

点击input框没有光标怎么办
点击input框没有光标怎么办

点击input框没有光标的解决办法:1、确认输入框焦点;2、清除浏览器缓存;3、更新浏览器;4、使用JavaScript;5、检查硬件设备;6、检查输入框属性;7、调试JavaScript代码;8、检查页面其他元素;9、考虑浏览器兼容性。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

934

2023.11.24

DBeaver怎么导入数据
DBeaver怎么导入数据

DBeaver数据导入专题,整理Excel、CSV、SQL、TXT等常见文件的数据导入方法,涵盖目标数据库选择、数据表创建、字段映射、数据类型设置及导入参数配置等操作,帮助用户将本地文件中的数据写入数据库,并了解批量导入、重复数据处理和导入失败等常见问题的解决方法。

20

2026.11.05

DBeaver安全防护教程大全
DBeaver安全防护教程大全

DBeaver安全防护专题,围绕数据库连接安全、账号密码保护和访问权限管理展开,整理SSL/TLS加密连接、SSH隧道、数据库凭据保存及证书验证等配置方法,同时介绍敏感信息保护、远程连接风险和高权限账号使用等注意事项,帮助用户提高数据库日常管理的安全性。

20

2026.11.05

DBeaver连接创建与配置教程
DBeaver连接创建与配置教程

本专题聚焦DBeaver数据库连接配置与管理,覆盖从新建连接、选择数据库类型到填写连接参数和验证连接的完整流程。针对MySQL、PostgreSQL、SQL Server等常见数据库,整理相应的连接设置方法,并提供驱动缺失、认证失败和连接异常等问题的排查方向。

20

2026.11.04

XORM框架结构体映射与表结构同步
XORM框架结构体映射与表结构同步

本专题围绕XORM框架的结构体映射展开,说明表名与字段的命名策略、xorm标签常用属性、主键自增与时间字段自动填充,并演示Sync2自动建表、增量字段升级、索引声明与反向生成结构体的完整流程。

20

2026.11.04

XORM框架安装配置与数据库连接
XORM框架安装配置与数据库连接

本专题聚焦XORM框架的配置与连接环节,拆解MySQL、PostgreSQL、SQLite、SQL Server的DSN写法与驱动选择,讲清连接池参数、多数据源拆分、读写分离与超时重连的处理方式,并补充容器与兼容数据库的适配经验。

20

2026.11.04

XORM框架安装配置与数据库连接
XORM框架安装配置与数据库连接

本专题聚焦XORM框架的配置与连接环节,拆解MySQL、PostgreSQL、SQLite、SQL Server的DSN写法与驱动选择,讲清连接池参数、多数据源拆分、读写分离与超时重连的处理方式,并补充容器与兼容数据库的适配经验。

0

2026.11.04

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
GDB 17.2 官方文档集合
GDB 17.2 官方文档集合

共0课时 | 0人学习

Bootstrap 入门安装配置
Bootstrap 入门安装配置

共0课时 | 0人学习

38+ PhpStorm 提示和技巧
38+ PhpStorm 提示和技巧

共1课时 | 237人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn