用于#<string:0x007fe9ac5ae310>(NoMethodError)的未定义方法`at_css'</string:0x007fe9ac5ae310>

时间:2014-12-21 22:37:08

标签: ruby

我正在尝试在我的URLS数组中获取所有价格,使用CSS选择器获取值。 问题是,方法at_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

1 个答案:

答案 0 :(得分:1)

块中的item变量是一个字符串,即来自test数组变量的元素。并且字符串在Ruby中没有to_css方法。您可能想在某些与Nokogiri相关的对象上调用to_css

我认为您需要以下内容:

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