XPath 简介

XPath 简介(简单易懂版)

XPath 全称 XML Path Language(XML 路径语言),是一门专门用来在 XML 和 HTML 文档中查找节点 的查询语言。

通俗来说:
XPath 就是网页元素的“地址”,告诉你怎么精准找到你想要的按钮、输入框、文字、链接等。

为什么每个人都要学 XPath?

因为几乎所有自动化工具都依赖它:

  • 爬虫:Scrapy、lxml、parsel
  • 自动化测试:Selenium、Playwright、Puppeteer、Appium、Cypress(部分)
  • 数据提取:Octoparse、WebScraper 等无代码工具
  • 后端解析:Java Jsoup、Python lxml 等

XPath 核心能力(就这几件事)

  1. 找元素(最常用)
  • 按标签名://div、//a
  • 按 id、class、其他属性://input[@id=’kw’]
  • 按文字内容://a[contains(text(),’登录’)]
  • 按层级关系://div//span(div 下的任意层级 span)
  1. 取属性值
  • //img/@src → 拿到所有图片链接
  1. 取文本内容
  • //span/text() → 拿到文字
  • normalize-space(//div) → 去掉多余空格换行后的干净文本

最经典的 3 个 XPath 示例(百度首页)

//input[@id='kw']                  → 搜索输入框(用 id 最稳)
//button[@id='su']                 → 百度一下按钮
//a[contains(text(),'新闻')]        → 顶部“新闻”链接(用文字)

XPath vs CSS 选择器 对比(快速看懂)

功能XPathCSS 选择器谁更强?
按文本内容找元素支持(超强)不支持XPath 胜
找父元素支持(parent:: / ..)不支持XPath 胜
找兄弟元素支持(following-sibling::)部分支持XPath 胜
语法简洁稍复杂更简洁CSS 胜
性能差不多略快
所有主流工具都支持基本都支持Selenium 原生支持最好

结论

  • 简单定位 → CSS 更快
  • 复杂定位、文字定位、取父级、爬虫 → XPath 完胜

一句话总结

XPath = 网页元素的 GPS 导航
学会它,你就拥有了在任何网页上“指哪打哪”的超能力!

需要我用 3 分钟带你从零上手写第一条 XPath 吗?随时说!

文章已创建 2783

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

相关文章

开始在上面输入您的搜索词,然后按回车进行搜索。按ESC取消。

返回顶部