【发布时间】:2013-09-05 16:42:20
【问题描述】:
我有很多这样的链接:
<a href="/edit_flat/1674093.html"><b>Edit issue >></b></a>
尝试提取href'内容我使用Xpath表达式:
//a[contains(@href,'/edit_flat')]
但它返回 null。我做错了什么?
【问题讨论】:
我有很多这样的链接:
<a href="/edit_flat/1674093.html"><b>Edit issue >></b></a>
尝试提取href'内容我使用Xpath表达式:
//a[contains(@href,'/edit_flat')]
但它返回 null。我做错了什么?
【问题讨论】:
//a[contains(@href,'/edit_flat')] 选择文档树中任何具有包含“/edit_flat”字符串的href 属性的a 元素。
这些匹配元素确实有这个非常“href”的属性,但是您使用的 XPath 表达式“仅”返回 a 元素(如果有的话)。
要真正返回匹配元素的属性值,您需要一个额外的步骤,使用/ 和@href。所以你想要的是:
//a[contains(@href,'/edit_flat')]/@href
建议:
您真正想要的可能是选择href 以子字符串“/edit_flat”开头的链接,因此使用起来更安全:
.//a[starts-with(@href,'/edit_flat')]/@href
【讨论】: