You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何定义按产品顺序优先提取价格、无价格则取替换提示的XPath

问题解决:XPath按产品顺序提取价格/缺货提示

原写法问题

你当前使用的XPath是全局范围直接匹配两类目标节点,返回顺序完全由节点在DOM树中的出现先后决定,若页面中所有价格节点的位置都早于缺货提示节点,就会出现先返回全部价格、再返回全部提示的乱序问题。

兼容XPath 1.0的正确写法(适配绝大多数爬虫、解析工具)

//div[@class="productInformations"]/descendant::*[self::dd[@class="yourPrice"] or self::div[@class="replacementPZNMessage"]]

实现逻辑

  1. 先定位所有产品的根容器div.productInformations,遍历顺序和产品在页面的原有排列顺序完全一致
  2. 针对每个产品容器,在其后代节点中匹配你需要的两类目标:价格节点dd.yourPrice、缺货提示节点div.replacementPZNMessage
  3. 最终返回结果和产品顺序一一对应,针对你给出的示例结构,会按顺序返回5,23$、Not available at the moment,完全符合需求。

内容的提问来源于stack exchange,提问作者glowworm123

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 21:54:02