2

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

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

4

1 回答 1

8

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

doc.css("span[class='#{k}']").children
于 2012-08-20T14:52:03.173 回答