XPath选择显式元素比较值

时间:2013-03-17 18:45:06

标签: html xpath siblings

这是我到目前为止所尝试的......

//div[@id='information']//div[div=='Site']
//div[text()='Site']//span//a[@href]

我正在摆弄XPath表达式,但它没有成功。我想选择锚点的href属性。这没问题,但需要明确 div class h3value = "Site"

<div id="information">
    <div class="h3">Location</div>
    <div class="h3">Site</div>
    <span>
        //Here is sometimes a <br/>
        <a href='http://www.test.at'>Klick</a>
    </span>
    <div class="h3">Referenz</div>
    <span>12345</span>
</div>

div中可以有任意多个div元素,id =“information”,因此无法选择索引。

1 个答案:

答案 0 :(得分:3)

这样的事情应该有效:

//div[@class = 'h3'][. = 'Site']/following-sibling::*/descendant-or-self::a/@href

这将提取文档顺序中“Site”div之后但仍包含在同一父元素中的所有href标记的a属性(示例中的“information”div) 。如果你没有为最后一点烦恼,也就是说你希望在“信息”div之后包含发生的a标签,那么你可以使用更简单的< / p>

//div[@class = 'h3'][. = 'Site']/following::a/@href