поэтому у меня есть этот код, который собирает всю необходимую мне информацию о продукте:
# get main page
page = agent.get "http://www.site.com.mx/tienda/index.php"
search_form = page.forms.first
search_result = agent.submit search_form
doc = Nokogiri::HTML(search_result.body)
rows = doc.css("table.articulos tr")
i = 0
details = rows.collect do |row|
detail = {}
[
[:sku, 'td[3]/text()'],
[:desc, 'td[4]/text()'],
[:qty, 'td[5]/text()'],
[:qty2, 'td[5]/p/b/text()'],
[:price, 'td[6]/text()']
].collect do |name, xpath|
detail[name] = row.at_xpath(xpath).to_s.strip
end
i = i + 1
detail
end
Мне нужно собрать SKU как в моем коде (в переменной), если существует только qty2.
search
. См. раздел очистки данных в нижней части страницы Начало работы с Mechanize. - person the Tin Man   schedule 22.06.2011</a><a...>
за пределамиtd
блоков. Nokogiri проанализирует его, однако перепишет DOM, чтобы он был правильным. Это может изменить необходимые методы доступа, потому что правильная разметка может не соответствовать тому, что показывает ваш образец. - person the Tin Man   schedule 23.06.2011