Nokogiri xpath method

Hi I am having a problem in nokogiri::HTML::Document.xpath method
for the site

page1 = Nokogiri::HTML(open(doc.uri.to_s))

x = [page1.css(“#GridView1 th”)[0].text,page1.css(“#GridView1
td”)[0].text,page1.css(“#GridView1 th”)[1].text,page1.css(“#GridView1
td”)[1].text,page1.css(“#GridView1 th”)[2].text,page1.css(“#GridView1
td”)[2].text,page1.css(“#GridView1 th”)[3].text,page1.css(“#GridView1
puts x
puts page1.css(‘#pnlDetail div #GridView2 tr th’)[0].text#Error

india.rb:22:in <main>': undefined method text’ for nil:NilClass

Subject: nokogiri xpath method
Date: dom 03 feb 13 04:41:53 +0900

Quoting gaurav shirodkar ([email protected]):

india.rb:22:in <main>': undefined methodtext’ for nil:NilClass

What’s your problem there? Check line 22 of your source code. It has
to be that one of the CSS tags you ask for does not exist in your
page. Instead of immediately asking for, let’s say

page1.css("#GridView1 th")[0].text

you should first check if

page1.css("#GridView1 th")

is not null. Or maybe catch the exception? You should refactor…


On Sun, Feb 3, 2013 at 9:48 AM, Carlo E. Prelz [email protected] wrote:

You should refactor…

Definitively: I can see serious violation of DRY. :slight_smile:



adding myself to this trail from personal interest.