2

我正在为 Yellowpages.com 提交搜索表单,但是当我打印漂亮的页面时,我注意到名称字段中是空白的。如果名称字段为空,我将如何告诉 mechanize 找到该表单?

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]}>}>
4

2 回答 2

1

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

page.form_with(:action => '/search') do |form|
  ...
end
于 2014-02-15T16:48:34.233 回答
0

你可以通过它出现的数字去:

page.forms[0]

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

page.form
于 2014-02-15T22:03:38.260 回答