Nokogiri - 如何从nokogiri页面搜索中选择属性"value"



>我使用Nokogiri按css类搜索并收到了这个输出。我想从这个哈希中选择:value="通过电子邮件发送 application-.com",但我不知道怎么做。这是哈希:

{"href"=>#<Nokogiri::XML::Attr:0x3fe935c500b8 name="href"   
value="http://.com">, "chars"=>#<Nokogiri::XML::Attr:0x3fe935c500a4    
name="chars" value="q|c|.|i|@|l|t|e|j|o|a|m|u|n|p">, "chars_index"=># 
<Nokogiri::XML::Attr:0x3fe935c50090 name="chars_index" 
value="10|14|14|5|3|1|10|6|3|9|13|4|8|12|13|3|0|7|2|1|9|11">, "title"=>#     
<Nokogiri::XML::Attr:0x3fe935c5007c name="title" value="E-Mail an 
application-.com">}

我尝试使用

.select{|a| a['value']} 

但这行不通。有人有什么想法吗?

http://ruby.bastardsbook.com/chapters/html-parsing/

这在上面的链接中得到了很好的介绍。

选择名称可能更容易:即在使用适当的 CSS 选择器后,您的最后一条语句将如下所示:

 page = Nokogiri::HTML(open(URL))
 page.css(//some selectors...[title="name"])

最简单的方法是在节点上使用#attribute

page.css(a_selector).map{ |node| node.attribute('value') }

如果要访问属性,请将节点视为哈希:

require 'nokogiri'
doc = Nokogiri::HTML('<a href="foo">bar</a>')
doc.at('a')['href'] # => "foo"

您将看到最常用的表示法。

或者,您可以使用这些:

doc.at('a').get_attribute('href') # => "foo"
doc.at('a').attr('href')          # => "foo"

这些都记录在Nokogiri的XML::Node文档中。

相关内容

  • 没有找到相关文章

最新更新