我正在努力提交 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]}>}>
表单具有 action
属性;指定该信息:
page.form_with(:action => '/search') do |form|
...
end
您可以按它显示的数字:
page.forms[0]
事实上,由于它是第一个(并且像许多其他"第一个"事情一样),你可以只做:
page.form