Ruby 未定义的方法`at#css';对于#<;字符串:0x007fe9ac5ae310>;(命名者)
我尝试在我的URL数组中获取所有价格,使用CSS选择器获取值。 问题是,_css的方法给了我以下错误: 字符串的未定义方法“at_css”(NoMethodError) 有人能帮我吗?谢谢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
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对象。谢谢<代码>项是一个字符串。检查类型是调试的第一步。