Ruby 如何使用具有特定td类的Nokogiri show节点
我在显示特定标记和类中的所有类时遇到问题 它应该显示链接中的所有四项,但它只显示第一项 IP应位于美国境内,以显示来自谷歌购物的商品:Ruby 如何使用具有特定td类的Nokogiri show节点,ruby,nokogiri,Ruby,Nokogiri,我在显示特定标记和类中的所有类时遇到问题 它应该显示链接中的所有四项,但它只显示第一项 IP应位于美国境内,以显示来自谷歌购物的商品: html = Nokogiri::HTML(open('https://www.google.com/shopping/product/13109814219830976487/plusbox/8460070?sa=X&ved=0ahUKEwjD7rnmjpTaAhVR4WMKHW1DB04QhxoIOQ')) puts html.css('td.d4Z
html = Nokogiri::HTML(open('https://www.google.com/shopping/product/13109814219830976487/plusbox/8460070?sa=X&ved=0ahUKEwjD7rnmjpTaAhVR4WMKHW1DB04QhxoIOQ'))
puts html.css('td.d4Zjj').text
# => Microsoft Project 2010 Standard AE 1 PC
我希望看到:
Microsoft Project 2010 Standard AE 1 PC
Microsoft Project 2010 Standard License 2 Installs
Microsoft Project 2010 Standard Retail Box
Microsoft Project 2010 Standard License (3 License)
如果选择器正确,则当代码如下所示时,应获得一个数组:
html = Nokogiri::HTML(open('https://www.google.com/shopping/product/13109814219830976487/plusbox/8460070?sa=X&ved=0ahUKEwjD7rnmjpTaAhVR4WMKHW1DB04QhxoIOQ'))
html.css('td.d4Zjj').each do |em|
puts em.text
end
您的示例列出了与d4Zjj类的td元素相对应的四个不同的文本元素。你认为会发生什么呢?我希望它会显示所有带有d4Zjj的元素。我在该URL的文档中只看到四个带有该类的元素,似乎代码对我来说是正确的。先生。它在其他链接上工作,但在这个链接上不是。这些类是动态的。不要期望它们停留太久。同样的情况也会发生,它只显示第一个项目,先生。使用css总是返回一个节点集,即使它是一个与选择器匹配的单个项目。节点集类似于数组。