0

0

XPath的following轴怎么选择之后的节点?

畫卷琴夢

畫卷琴夢

发布时间:2025-08-16 13:55:01

|

714人浏览过

|

来源于php中文网

原创

xpath的following轴用于选择当前节点之后的所有非祖先、非属性、非命名空间节点,按文档顺序排列,可通过following::node()选择所有后续节点,或使用following::p、following::a[@href]、following::div[contains(@class,'content')]等表达式精确选择特定类型节点;与following-sibling轴不同,following轴范围更广,包含所有后续节点而不仅限于兄弟节点;在实际应用中,可结合定位标志元素提取后续内容,如//h2[text()='related articles']/following::a提取相关文章链接,或//input[@id='username']/following::span[@class='error-message']定位表单错误信息,从而实现高效的数据提取与自动化测试。

XPath的following轴怎么选择之后的节点?

XPath 的

following
轴用于选择当前节点之后的所有节点,这些节点与当前节点不在同一个父节点下,并且在文档树中按照文档顺序出现。简单来说,它会选取当前节点结束标签之后,直到文档结束的所有节点,排除祖先节点、属性节点和命名空间节点。

选择之后的节点,可以使用

following::node()
选择所有后续节点,或者使用更具体的 XPath 表达式,比如
following::p
选择所有后续的

元素。

XPath

following
轴的具体用法和注意事项。

如何精确选择特定类型的后续节点?

following
轴默认会选择所有类型的后续节点。如果只想选择特定类型的节点,例如所有的段落

标签,可以使用
following::p
。如果需要选择带有特定属性的节点,可以结合属性选择器,例如
following::a[@href]
选择所有带有
href
属性的链接。更复杂的选择可以使用谓语,例如
following::div[contains(@class, 'content')]
选择所有包含
class
属性且属性值包含
content
元素。

举个例子,假设有以下 HTML 片段:

This is the first paragraph.

Some text here

This is the second paragraph.

Example Link

如果当前节点是第一个

标签,那么
following::p
将会选择到 “This is the second paragraph.” 这个

标签。
following::a[@href]
将会选择到 "Example Link" 这个
标签。

following
轴和
following-sibling
轴的
区别是什么?

following
轴和
following-sibling
轴是 XPath 中两个不同的轴,它们的选择范围不同。
following
轴选择的是当前节点之后的所有节点,不包括祖先节点、属性节点和命名空间节点,而
following-sibling
轴选择的是当前节点之后的所有兄弟节点,即与当前节点具有相同父节点的节点。

用一个简单的例子来说明:

First paragraph

Cutout.Pro
Cutout.Pro

AI驱动的视觉设计平台

下载
Some text

Second paragraph

Link

如果当前节点是 "First paragraph" 这个

标签,那么
following::p
会选择 "Second paragraph" 这个

标签,而
following-sibling::p
也会选择 "Second paragraph" 这个

标签。但是,如果使用
following::a
,则会选择 "Link" 这个
标签,而
following-sibling::a
不会选择任何节点,因为
标签不是

标签的兄弟节点。

总结一下:

following
轴的选择范围更广,而
following-sibling
轴的选择范围更窄,仅限于兄弟节点。

如何在实际应用中使用
following
轴?

following
轴在网页抓取、数据提取和自动化测试等领域非常有用。例如,可以使用
following
轴来定位网页中特定元素之后的动态内容,或者根据某个标志性元素来查找相关的后续元素。

假设一个网页的结构如下:

Article Title

Introduction paragraph.

Main content paragraph 1.

如果想要提取 "Related Articles" 标题之后的所有链接,可以使用 XPath 表达式

//h2[text()='Related Articles']/following::a
。这个表达式首先定位到文本内容为 "Related Articles" 的

标签,然后使用
following::a
选择该标题之后的所有
标签。

另一个例子是在自动化测试中,如果一个表单的错误信息显示在输入框之后,可以使用

following
轴来定位错误信息。例如,如果输入框的 HTML 结构如下:


Username is required.

可以使用 XPath 表达式

//input[@id='username']/following::span[@class='error-message']
来定位错误信息。

总而言之,

following
轴是一个非常灵活和强大的 XPath 轴,可以用于选择各种类型的后续节点,从而实现更精确和高效的网页数据提取和自动化测试。

相关文章

Windows激活工具
Windows激活工具

Windows激活工具是正版认证的激活工具,永久激活,一键解决windows许可证即将过期。可激活win7系统、win8.1系统、win10系统、win11系统。下载后先看完视频激活教程,再进行操作,100%激活成功。

下载

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
scripterror怎么解决
scripterror怎么解决

scripterror的解决办法有检查语法、文件路径、检查网络连接、浏览器兼容性、使用try-catch语句、使用开发者工具进行调试、更新浏览器和JavaScript库或寻求专业帮助等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

228

2023.10.18

500error怎么解决
500error怎么解决

500error的解决办法有检查服务器日志、检查代码、检查服务器配置、更新软件版本、重新启动服务、调试代码和寻求帮助等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

297

2023.10.25

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

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

469

2024.01.03

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

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

15

2025.12.06

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

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

186

2023.11.24

PHP 命令行脚本与自动化任务开发
PHP 命令行脚本与自动化任务开发

本专题系统讲解 PHP 在命令行环境(CLI)下的开发与应用,内容涵盖 PHP CLI 基础、参数解析、文件与目录操作、日志输出、异常处理,以及与 Linux 定时任务(Cron)的结合使用。通过实战示例,帮助开发者掌握使用 PHP 构建 自动化脚本、批处理工具与后台任务程序 的能力。

42

2025.12.13

C++ 设计模式与软件架构
C++ 设计模式与软件架构

本专题深入讲解 C++ 中的常见设计模式与架构优化,包括单例模式、工厂模式、观察者模式、策略模式、命令模式等,结合实际案例展示如何在 C++ 项目中应用这些模式提升代码可维护性与扩展性。通过案例分析,帮助开发者掌握 如何运用设计模式构建高质量的软件架构,提升系统的灵活性与可扩展性。

8

2026.01.30

c++ 字符串格式化
c++ 字符串格式化

本专题整合了c++字符串格式化用法、输出技巧、实践等等内容,阅读专题下面的文章了解更多详细内容。

9

2026.01.30

java 字符串格式化
java 字符串格式化

本专题整合了java如何进行字符串格式化相关教程、使用解析、方法详解等等内容。阅读专题下面的文章了解更多详细教程。

8

2026.01.30

热门下载

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

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
XPath 参考手册
XPath 参考手册

共0课时 | 0人学习

XPath 教程
XPath 教程

共9课时 | 4万人学习

10分钟--Midjourney创作自己的漫画
10分钟--Midjourney创作自己的漫画

共1课时 | 0.1万人学习

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

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号