2

href 属性が値 'a'、'b'、または 'c' に等しいすべてのアンカー要素を見つけたい

これまでのところ、私がやったことは次のとおりです。

values = ['a','b','c']
anchors = page.css('a')

anchors.each do |anchor|
  if values.include? anchor.attribute('href').value
    p "found it"
  end
end

後で各アンカーを通過することなく、これらのアンカーを直接選択する方法はありますか?

4

2 に答える 2

0

Nokogiri では、いつでも xpath を使用できます。

<!doctype html>
<html lang="en">
<head></head>
<body>
  This is <a href="http://b.com">a link</a>
  This is <a href="http://a.com">another link</a>
</body>
</html>


noko_page.xpath("//a[@href='http://a.com' or @href= 'http://b.com']")



=> [#<Nokogiri::XML::Element:0x3fc9360be368 name="a" attributes=[#<Nokogiri::XML::Attr:0x3fc9360bdcd8 name="href" value="http://b.com">] children=[#<Nokogiri::XML::Text:0x3fc93618e93c "a link">]>, #<Nokogiri::XML::Element:0x3fc93618dc08 name="a" attributes=[#<Nokogiri::XML::Attr:0x3fc93618d71c name="href" value="http://a.com">] children=[#<Nokogiri::XML::Text:0x3fc93618fd78 "another link">]>]
于 2013-10-08T22:04:11.147 に答える