我对 Mechanize 还很陌生……而且我还在学习。
我想知道是否有人可以帮助我解决这个问题。
我正在通过 Firefox 使用 Web 开发人员工具包来找出表单,但是我在这样做时遇到了一些麻烦。
我尝试发布提交的网站有 2 个提交按钮。整个页面主要是 javascript 和 jquery 代码,所以为了解决这个问题,我发现我需要像这样直接将信息发布到页面上......
@page = Mechanize.new{|agent| agent.user_agent = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:9.0a2) Gecko/20111101 Firefox/9.0a2'}
@page.post("http://www.somepage.do",'name1' => '1','name2' => '2', 'name3' => '3')
页面上有多个按钮显示为没有直接链接的图像文件:
<input id="btn1" type="image" title="Search" src="images/img/common/btn.gif" name="button1">
<input id="btn2" type="image" title="Search" src="images/img/common/btn.gif" name="button2">
当我从网站上拉取表格时......我看到......
ID='btn1', name = 'btn1', type ='image', 'value' = ''
我知道如果我有直接链接...我应该发布类似...
@page.post("http://www.somepage.do/button2.html", 'name1' => '1','name2' => '2', 'name3' => '3')
但是由于大部分页面都是 javascript 完成的,因此很难查找内容。
欢迎任何帮助或建议。提前致谢。
编辑:
好的...我刚刚发现了一些事情...当我
@page.post("http://www.somepage.do",'name1' => '1','name2' => '2', 'name3' => '3')
由于某些奇怪的原因,'name1' 和 'name2' 没有填充到表单中。
我直接从网站上获取了这些名称。
最佳答案
既然您提到您使用的是 Firefox,请安装 HTTPFox插件并使用它来分析当您单击提交按钮时提交按钮发布到 Web 服务器的内容。这样,您可以通过用值填充表单或什至向表单添加更多输入字段(如果 javascript 在提交之前添加任何额外字段)来轻松模仿 Javascript 正在做什么。我已经在网站上多次成功地使用了这种技术,这些网站在提交时会进行大量 javascript 表单处理。
关于ruby - 有 2 次提交的 Mechanize 帖子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11960967/