我有以下HTML
<div id="profile-bio-full">
<p>Bla bla bla bla </p>
<p>Site: <a href="http://www.something.com" rel="nofollow">something.com</a></p>
<p>Facebook: <a href="http://www.facebook.com" rel="nofollow">facebook.com</a></p>
<p>Twitter: <a href="http://www.twitter.com" rel="nofollow">www.twitter.com</a></p>
</div>
我需要获取Twitter URL(href“a”属性)。
我正在使用Rails和Nokogiri gem,以及使用Nokogiri xPath功能。
我正在使用此xPath
//div[contains(@id, "profile-bio-full")]/a[contains(@href, "twitter.com")]
但不要工作:(。任何猜测?
答案 0 :(得分:3)
您的a
匹配器之前的单个正斜杠指定a
元素必须是div
的直接子项 - 但不是,它是{{1}的孩子}。
你可以这样做:
p
或者您可以将//div[contains(@id, "profile-bio-full")]/p/a[contains(@href, "twitter.com")]
更改为/a
,以表示//a
只需要是后代而不是直接的孩子。
a