2014-12-21 30 views
-1

我試圖讓我所有的價格在我的URLS數組中,獲取與CSS選擇器的值。 的事情是,該方法at_css是給我下面的錯誤:未定義的方法at_css爲#<String:0x007fe9ac5ae310>(NoMethodError)

未定義的方法`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 
+0

'item'是一個字符串。檢查你的類型是調試的第一步。 –

回答

1

在塊中的item變量是一個字符串,即從test數組變量的元素。在Ruby中,字符串沒有to_css方法。你可能想在一些與Nokogiri相關的對象上調用to_css

我認爲你需要以下條件:

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

就是這樣。我不得不在內部創建一個var來定位一個Nokogiri對象。謝謝!! – Gibson

相關問題