如何使用Mechanize基于其拥有的字段选择表单?

时间:2014-07-29 06:03:48

标签: ruby forms web-scraping screen-scraping mechanize

我正在使用Mechanize进行一些简单的网页抓取。

在网页中,我有多个表单,表单没有ID或名称。

我知道如何区分表单的唯一方法是隐藏输入字段,其名称为a

如何将此作为选择正确表格的标准?

2 个答案:

答案 0 :(得分:1)

尝试手动选择:

require 'mechanize'

agent = Mechanize.new

page = agent.get('http://somesite.com/')
forms = page.forms.select {|form| form.fields.any? {|field| field.name == 'a' && field.type == 'hidden'}}
form = forms[0] unless forms == []

答案 1 :(得分:0)

你可以这样使用Form#has_field?

form = page.forms.find{|f| f.has_field? 'a'}