使用Mechanize选中复选框

时间:2015-06-18 13:41:44

标签: ruby-on-rails web-scraping mechanize

一旦我设法获得我感兴趣的NOKOGIRI对象(在我的情况下是一个复选框),我如何“检查”它? 我有以下

category.parent.children.children.check

返回这个充满nokogiri对象的数组:

 [#<Nokogiri::XML::Text:0x3fde5a78a26c "\r\n\t\t\t">, #<Nokogiri::XML::Element:0x3fde5a78a154 name="input" attributes=[#<Nokogiri::XML::Attr:0x3fde5a78a0a0 name="type" value="checkbox">, #<Nokogiri::XML::Attr:0x3fde5a78a064 name="name" value="epr_iid_selection[9]">, #<Nokogiri::XML::Attr:0x3fde5a78a014 name="value" value="652988">]>, #<Nokogiri::XML::Text:0x3fde4e0cd1b0 "\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t">, #<Nokogiri::XML::Text:0x3fde4e0cd0fc "Simple Messieurs Senior">, #<Nokogiri::XML::Text:0x3fde4e0ccfd0 "SM  ">, #<Nokogiri::XML::Text:0x3fde4e0cce2c "Senior">]

在这个数组中,我只对第二个元素感兴趣,这个元素是我需要“检查”的复选框:

#<Nokogiri::XML::Element:0x3fde55a0a028 name="input" attributes=[#<Nokogiri::XML::Attr:0x3fde5a751f70 name="type" value="checkbox">, #<Nokogiri::XML::Attr:0x3fde5a751f48 name="name" value="epr_iid_selection[9]">, #<Nokogiri::XML::Attr:0x3fde5a751ef8 name="value" value="652988">]>

我该怎么做?

1 个答案:

答案 0 :(得分:3)

通常,您需要选中表单中的框。

form.checkbox_with(:name => 'box').check

有关详细信息,请参阅相关文档:http://mechanize.rubyforge.org/GUIDE_rdoc.html

希望这有帮助。