2014-02-16 108 views
0
URL = 'http://public.dep.state.ma.us/SearchableSites2/Search_UST.aspx' 
agent = Mechanize.new() 
agent.get(URL) 

form = agent.page.form_with(:action=>/Search_UST.aspx/) 
form.submit(form.button_with(:value=>'Search')) 

puts agent.page.body 

上面的代码段假设提交表单并接收搜索结果页面。但是,表单未提交。我没有获得结果页面,而是获取了表单页面,就好像我没有提交表单一样。表单没有通过机械化提交

这就是我想要的源页面提交http://public.dep.state.ma.us/SearchableSites2/Search_UST.aspx

就如何克服这个问题的任何建议?

谢谢

+0

ASP表单倾向于有额外的数据要发送请求。检查提交内容并将这些字段添加到您的机械化代码中。 –

回答

0

我可以看到搜索按钮已在onclick一个“doPostBack”行动。所以你需要解析并做一些事情。

+0

请您详细说明一下。谢谢 – user311509

+0

当然,在onclick中有一些javascript发生,你需要模拟它或者切换到像javascript一样的东西,比如watir-webdriver – pguardiario

+0

Watir很合适。干杯 – user311509