【发布时间】:2015-02-21 09:56:31
【问题描述】:
应用 Xpath 的 html 有点长,因此将链接粘贴到需要触发 Xpath 的页面。
仅当商品为“亚马逊配送”时,我才想获得该商品的“购买新商品”价格。
我在 C# 上使用 Html Agility Pack。
这是我的尝试。我首先尝试查看该商品是否由亚马逊配送。
//div[@id='buyNewInner']//descendant::a[contains(@href,'isAmazonFulfilled=1')]
但我不知道如何从这里继续到前面的节点并获取项目的价格,在本例中为 $99.99
意图不仅是有一个单一的 Xpath 来获得这个价格,而且还要确保我尽可能避免对各个节点相对于彼此的位置的假设,并尝试匹配 wrt 可见文本而不是像 div//span[1] 这样的 Html 节点定位. (这里的 Xpath 表示与第一个跨度匹配 - 如果可能,我会尽量避免)
所以在这种情况下,我试图实现的匹配逻辑是:
如果出现在“FulFillment By Amazon”之前,则在“Buy New”之后查找价格
【问题讨论】:
标签: c# xpath html-agility-pack