我正在使用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

09-09 22:27
查看更多