Ruby Mechanize的名称字段为空

时间:2014-02-15 16:40:47

标签: ruby mechanize mechanize-ruby

我正在努力提交yellowpages.com的搜索表单,但是当我执行漂亮的打印页面时,我会在名称字段中注意到它是空白的。如果名称字段为空,我如何告诉机械化找到该表格?

require 'mechanize'

agent = Mechanize.new
page = agent.get('http://www.yellowpages.com')
pp page

输出:

#<Mechanize::Form
   {name nil}
   {method "GET"}
   {action "/search"}
   {fields
    [text:0x3fd6990db510 type: text name: search_terms value: ]
    [text:0x3fd6990db36c type: text name: geo_location_terms value: Dallas, TX]
    [hidden:0x3fd6990db13c type: hidden name: tracks value: true]}
   {radiobuttons}
   {checkboxes}
   {file_uploads}
   {buttons [button:0x3fd6990df87c type: submit name:  value: Search]}>}>

2 个答案:

答案 0 :(得分:1)

表单具有action属性;指定该信息:

page.form_with(:action => '/search') do |form|
  ...
end

答案 1 :(得分:0)

您可以使用它出现的数字:

page.forms[0]

事实上,因为它是第一个(和许多其他“第一”事物一样)你可以做:

page.form