XPath学习核心是建立“文档树+定位逻辑”直觉,掌握//(全文搜索)、/(根路径)、@(属性选取)三类符号及谓词筛选、父子/兄弟关系定位技巧。
学XPath路径表达式,核心不是背规则,而是建立“文档树+定位逻辑”的直觉。它不难,关键在理解节点关系和常用表达式的实际作用。
从三个最常用的路径符号开始
刚上手时,只记牢这三类写法,就能覆盖80%的使用场景:
-
//:全文搜索——不管元素在哪一层,只要名字对就抓出来。
例如//a找所有超链接,//div[@class="content"]找所有 class 是 content 的 div。 -
/:从根往下走——适合结构清晰、层级固定的文档(如 XML 配置文件)。
例如/bookstore/book/title表示“根下的 bookstore → 其下的 book → 再其下的 title”。 -
@:专门用来取属性——写在方括号里配合元素名使用。
例如//img[@src]找所有带 src 属性的图片,//button[@type="submit"]精准定位提交按钮。
用谓词(方括号里的条件)做精准筛选
光找元素不够,经常要“找第几个”“找含某文字的”“找属性值匹配的”。这些都靠谓词实现: