我正在页面上填写表格并提交。这将触发文件的下载。
但是,当我尝试保存下载的输出时,我得到的是页面的源代码而不是文件。
我的代码是:mechanize = Mechanize.new
mechanize.pluggable_parser.default = Mechanize::Download
page = mechanize.get('http://page.com/')
form = page.forms.first
form.radiobuttons_with(name: 'presence')[0].check
form.source = "btce"
form.label = "BTC/USD"
mechanize.get_file(form.submit).save!('page.csv')
提交表单时下载的文件如何保存?
提交表单后文件是否自动开始下载?提交表单可能会返回一个新页面,也可以加载新的脚本/样式表。这可能解释了为什么您的文件包含源代码,因为这是您正在下载的内容。(机械化不会抛出错误,如果你下载一个网页)
例如,我使用Mechanize来填写Google的搜索表单并提交,并将结果保存到google_search.csv
。新文件包含页面源代码、javascript、mySQL及其样式表的混合。
您可以使用Firebug挖掘页面的源代码,并查明提交表单时究竟发生了什么,这很可能是调用了一个链接,但您没有意识到。