使用 nokogiri 在 ruby 上的 xpath 中使用变量

using variable in xpath on ruby with nokogiri

require 'nokogiri'
require 'open-uri'

1.upto(10) do |x|
url = TOPSECRET
page = Nokogiri::HTML(open(url))

title = page.xpath('//span[@class="tit"][#{x}]').inner_html

puts "#{x}, #{title}"
end

出现错误 [#{x}] <= 这里

我该如何解决这个问题?

问题出在您使用单引号而不是双引号。

改变这个:

title = page.xpath('//span[@class="tit"][#{x}]').inner_html

对此:

title = page.xpath("//span[@class=\"tit\"][#{x}]").inner_html

用于适当的变量扩展。还要注意内部双引号的转义。