我一直在使用nokogiri css一段时间,我希望能够在css选择器中使用ruby表达式插值,但它不起作用。这是我想要使用的代码:
doc = Nokogiri::HTML(open('http://www.somepage.com'))
keys=["BHiuG", "hUYtb4F", "jefHUY78i"]
keys.each do |k|
keyvalue = doc.css('span[class="#{k}"]').children
puts keyvalue
end
有没有办法让类似的语法有效?
答案 0 :(得分:8)
它与Nokogiri无关:问题是你使用单引号但Ruby中的字符串插值需要双引号。由于CSS选择器也允许single quotes,我写道:
doc.css("span[class='#{k}']").children