0

我正在使用此代码

require 'rubygems'
require 'mechanize'

agent = Mechanize.new
page = agent.get('http://www.indianrail.gov.in/pnr_Enq.html')
form = agent.page.forms[0]
print agent.page.forms[0].fields
# in this i get filed as lccp_pnrno1
agent.page.forms[0]["lccp_pnrno1"] = "4150702245"
button = form.button_with(:value => "Get Status")
agent.submit(form, button)
pp pages

理想情况下,上述代码应先输入 10 位数字。,单击获取状态按钮,它应该给出一个新页面,因此需要提供信息的新页面,但我的输出只是第一页。所以我在这里有两个疑问:

1)如何检查表单是否提交。

2)其次如何在提交表单后打印下一页,因为pp页面只打印最后一页。

4

1 回答 1

1

当你这样做

pp page

page仍然指的是分配给它的原始页面

page = agent.get('http://www.indianrail.gov.in/pnr_Enq.html')

page提交表单后需要更新:

page = agent.submit(form, button)
pp page

请注意,页面被分配了表单提交返回的值(页面)。

于 2013-04-09T20:34:32.650 回答