我正在使用Mechanize进行一些简单的网页抓取。
在网页中,我有多个表单,表单没有ID或名称。
我知道如何区分表单的唯一方法是隐藏输入字段,其名称为a
。
如何将此作为选择正确表格的标准?
答案 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'}