【问题标题】:How can I use ruby expression interpolation "#{var}" inside nokogiri css selector?如何在 nokogiri css 选择器中使用 ruby​​ 表达式插值“#{var}”?
【发布时间】:2012-08-15 21:57:57
【问题描述】:

我使用 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

有什么方法可以让类似的语法起作用吗?

【问题讨论】:

  • 您需要双引号才能使它们起作用。 "span[class=\"#{k}\"]"

标签: css ruby nokogiri


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2014-09-03
    • 1970-01-01
    • 1970-01-01
    • 2010-12-27
    • 2011-02-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-11
    • 1970-01-01
    相关资源
    最近更新 更多