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

far*_*edo 2 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
Run Code Online (Sandbox Code Playgroud)

有没有办法让类似的语法工作?

tok*_*and 8

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

doc.css("span[class='#{k}']").children
Run Code Online (Sandbox Code Playgroud)