开发工具 125文本工具 40编码加密 40图片文件 66查询工具 46计算转换 57站长工具 57生活工具 55娱乐工具 39金融理财 45
首页/查询工具/XPath 语法速查

XPath 语法速查

XPath 语法速查表:表达式、含义与示例,覆盖路径、谓词、轴和常用函数。写爬虫、做网页抓取时查。

本地运行 · 数据不上传 查询工具 免费 · 无需注册
表达式含义示例

使用说明

  1. 搜表达式(//)或含义(子节点、包含)定位。
  2. //div[2] 和 (//div)[2] 结果完全不同:前者是「每个父节点下的第 2 个 div」,后者才是「全文档第 2 个 div」。
  3. 写爬虫时优先用 contains(@class,'x') 而不是 @class='x',因为元素的 class 往往不止一个。

常见问题

// 和 / 有什么区别?
单斜杠是从当前节点直接找子节点,双斜杠是找所有后代节点(不限层级)。所以 /html/body 要求层级严格对得上,而 //div 不管嵌套多深都能找到。抓网页时大多用 //。
为什么抓不到想要的内容?
常见三个原因:一是网页内容由 JS 动态渲染,静态抓取时元素还不存在;二是 class 或 id 是随机生成的,下次就变了;三是 XPath 太依赖层级,页面结构一改就失效。优先用稳定的属性(如 id、data-*)来定位。
浏览器里怎么快速拿 XPath?
打开开发者工具,在 Elements 面板找到元素,右键选「Copy → Copy XPath」即可。但自动生成的 XPath 常带一长串层级(div/div/div),很脆弱,建议手动改成用稳定属性定位的写法。

相关工具

查询工具 · 该分类共 46 个工具,展开查看全部