我只能通过XPath获取特定属性的值吗?

时间:2017-03-20 08:12:26

标签: ruby xpath nokogiri

我有这样的代码:

doc = Nokogiri::HTML("<a href='foo.html'>foo</a><a href='bar.html'>bar</a>")
doc.xpath('//a/@href').map(&:value) # => ["foo.html", "bar.html"]

它按预期工作。

但出于好奇心我想知道,我是否也可以通过使用XPath获得href属性的值?

2 个答案:

答案 0 :(得分:0)

this question的第一个答案来看,答案似乎是肯定而不是。它提供

xml.xpath("//Placement").attr("messageId")

非常接近“只有XPath”,但并非完全如此。由你决定是否足够你。

答案 1 :(得分:0)

首先找到属性

例如: 网站名称: https://www.easymobilerecharge.com/

我们希望找到&#34; MTS&#34;链路

在您的情况下,要找到此元素,我们可以使用x-path,如: // a [包含(text(),&#39; MTS&#39;)]

现在要获取href属性,请使用: // a [包含(text(),&#39; MTS&#39;)] / @ href