Ruby 未定义的方法`at#css';对于#<;字符串:0x007fe9ac5ae310>;(命名者)

Ruby 未定义的方法`at#css';对于#<;字符串:0x007fe9ac5ae310>;(命名者),ruby,Ruby,我尝试在我的URL数组中获取所有价格,使用CSS选择器获取值。 问题是,_css的方法给了我以下错误: 字符串的未定义方法“at_css”(NoMethodError) 有人能帮我吗?谢谢 test = ["www.myweb.com/1", "www.myweb.com/2"] test.each do |item| Nokogiri::HTML(open(item)) puts item.at_css('.itemprice').text

我尝试在我的URL数组中获取所有价格,使用CSS选择器获取值。 问题是,_css的方法给了我以下错误:

字符串的未定义方法“at_css”(NoMethodError)

有人能帮我吗?谢谢

test = ["www.myweb.com/1", "www.myweb.com/2"]

    test.each do |item|

      Nokogiri::HTML(open(item))

      puts item.at_css('.itemprice').text

      puts item.at_css('.description').text

      puts "Empty Line"

    end

块中的
变量是字符串,即
测试
数组变量中的元素。而且字符串在Ruby中没有
to_css
方法。您可能想调用
来对一些与Nokogiri相关的对象执行css

我认为你需要以下几点:

some_var = Nokogiri::HTML(open(item))
some_var.at_css('.itemprice').text

就这样。我必须在内部创建一个var来定位Nokogiri对象。谢谢<代码>项是一个字符串。检查类型是调试的第一步。