我正在使用CasperJS抓取我的银行对帐单,到目前为止,我已经成功登录并进入对帐单页面。我已经完成了获得语句首页的表格的准备,但是我需要使其完整。
银行的网站可以选择导出到.txt文件(实际上是CSV格式),但是要下载该文件,我必须能够下载POST请求的响应标头中的附件文件我通过单击按钮提交表单。
所以我想我可以通过AJAX进行POST,获取响应并输出。我尝试在firebug控制台上运行代码,并且可以运行,但是由于某些原因,它在CasperJS中不起作用。
顺便说一句,我尝试使用--web-security = no,仍然不起作用
这就是我要这样做的方式:
this.then(function() {
eurl = "http://bankurl.com";
response = this.evaluate(function() {
params = $("#lForm").serialize();
$.ajax({
type: "POST",
url: eurl,
data: params,
success: function (data) {
return data.responseText;
},
error: function (xhr,status,error){
return error;
}
});
});
this.echo(response);
});
最佳答案
我无法使用您提供的代码对此进行测试,但看来您只是没有从evaluate()
返回任何内容。
return __utils__.sendAJAX(url, 'POST', params);
您可能还需要使用以下命令调用CasperJS:
casperjs --ignore-ssl-errors=true /path/to/script.js