使用CasperJS单击链接后下载CSV

擎天柱

我创建了一个脚本,该脚本登录到我的银行帐户,导航到交易页面,然后尝试下载所有交易数据的CSV。但是,单击“下载”按钮后,将永远不会下载资源。单击按钮时调用的资源是“ download.qfx”,并且每次都会生成一个不同的文件名。任何帮助,将不胜感激。

// When download page loads, click the appropriate settings and download transactions
casper.then(function(){
    this.waitForSelector("#transactionPeriod", function() {
       this.evaluate(function() {
           document.querySelector('#transactionPeriod').selectedIndex = 0; //it is obvious
           return true;
        });
        this.clickLabel("Spreadsheet (Comma Separated Values)", "label");
    });
});
// Click the download button
casper.then(function(){
   casper.click(x("//a[contains(text(), 'Download')]"));
});
// Save the download file
casper.then(function(){
         casper.download("https://secure.capitalone360.com/myaccount/download.qfx", "export.csv");
});

这是检查员的图像,以防这些细节中的任何一个有助于弄清问题。 在此处输入图片说明

更新:我也尝试过,但是单击“下载”事件后调试器中没有输出。

casper.then(function(){
   casper.click(x("//a[contains(text(), 'Download')]"));
});

casper.on('resource.received', function(resource) {
    if (resource.stage !== "end") {
        console.log("resource.stage !== 'end'");
        return;
    }
    if (resource.url.indexOf('download.qfx') > -1) {
        console.log("Downloading csv file");
        this.download(resource.url, 'ExportData.csv');
    }
});

此外,如果键入console.log(resource.url),则永远不会看到download.qfx。也许这暗示出什么问题了?

擎天柱

仅单击链接似乎并未导致应该发生的onClick javascript调用。所以,然后我测试了:

casper.then(function(){
   //casper.click(x("//a[contains(text(), 'Download')]"));
    casper.evaluate(function(){
        urchinTracker('/download_transactions/continue');
        submitForm('download');
        return false; 
    });
});

casper.on('resource.received', function(resource) {
    //console.log(resource.url);
    if (resource.stage !== "end") {
        return;
    }
    if (resource.url.indexOf('download.qfx') !== -1) {
        this.download(resource.url, 'ExportData.csv');
    }
});

因此,由于某种原因,有必要分别调用onClick函数。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

单击“下载”链接,使用JQuery不会下载文件

来自分类Dev

casperjs下载CSV文件

来自分类Dev

casperjs问题下载csv文件

来自分类Dev

添加CSV文件后下载的zip存档为空

来自分类Dev

CasperJS单击与选择器匹配的所有链接

来自分类Dev

如何使用phantomjs / casperjs处理下载?

来自分类Dev

如何使用casperjs单击随机链接并导航到另一个页面?

来自分类Dev

使用EPPlus创建后下载Excel文件

来自分类Dev

Flask:单击按钮后下载一个csv文件

来自分类Dev

登录后如何使用Casperjs下载CSV文件

来自分类Dev

单击一个按钮以使用CasperJS下载文件

来自分类Dev

使用PHP导出数据后下载的文件为空

来自分类Dev

使用setuptools,如何在安装后下载外部数据?

来自分类Dev

使用pytube库从csv下载youtube链接

来自分类Dev

Django在发布请求后下载csv

来自分类Dev

单击链接以使用curl下载文件

来自分类Dev

添加CSV文件后下载的zip存档为空

来自分类Dev

CasperJS单击与选择器匹配的所有链接

来自分类Dev

如何使用casperjs单击随机链接并导航到另一个页面?

来自分类Dev

无法单击CasperJS的链接

来自分类Dev

使用ImageLoad(Android)下载图像后下载URL

来自分类Dev

添加链接以使用Rails下载CSV

来自分类Dev

单击CasperJS中的链接,并在标签中留出额外的间距

来自分类Dev

使用setuptools,如何在安装后下载外部数据?

来自分类Dev

使用javascript单击时将表单值下载为csv

来自分类Dev

使用Casperjs单击Angularjs

来自分类Dev

按下按钮然后下载csv文件

来自分类Dev

确定页面中的所有下载链接,然后下载所有文件

来自分类Dev

单击 url 下载 gz 文件并使用 scala 转换为 csv

Related 相关文章

热门标签

归档