如何在nokogiri css选择器中使用ruby表达式插值“#{var}”?

时间:2012-08-20 14:48:00

标签: css ruby nokogiri

我一直在使用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

有没有办法让类似的语法有效?

1 个答案:

答案 0 :(得分:8)

它与Nokogiri无关:问题是你使用单引号但Ruby中的字符串插值需要双引号。由于CSS选择器也允许single quotes,我写道:

doc.css("span[class='#{k}']").children