什么是XPath

XPath,全称是 XML Path Language(XML 路径语言)。简单来说,它就像是网页和文档世界里的GPS 导航系统。


1.它是如何工作的?

HTML 和 XML 文档在计算机眼里,其实长得像一棵倒挂的“树”(被称为 DOM 树)。这棵树有根(Root)、有树枝(父节点、子节点),还有树叶。

XPath 就是通过路径表达式在这棵树上“寻宝”的。例如:

  • /bookstore/book[1]:意思是“帮我找到书店(bookstore)里的第一本书(book)”。
  • //a[@href]:意思是“不管在页面的什么位置,把所有带有超链接的 <a> 标签都给我找出来”。

2.核心语法速览

在 XPath 中,有一些非常高频的符号,掌握它们就能看懂大部分路径:

  • / :从根节点开始选取(绝对路径,必须一步一步按层级找)。
  • // :在整个文档中寻找节点,不考虑它们的位置(相对路径,最常用、最灵活)。
  • . :选取当前节点。
  • .. :选取当前节点的父节点(相当于在文件夹里“返回上一层”)。
  • @ :用来选取属性(比如获取图片的 src 属性或者链接的 href 属性)。

3.为什么它这么重要?

  1. 网络爬虫(Web Scraping): 用来在海量的网页源码中,精准抠出你需要的数据(比如商品价格、电影评分、新闻标题)。
  2. UI 自动化测试(Automation Testing): 比如使用 Selenium 时,XPath 是帮测试脚本在页面上精准找到“登录”按钮或“密码输入框”的硬核利器。