【问题标题】:Submitting a form and downloading a file using CasperJS使用 CasperJS 提交表单并下载文件
【发布时间】:2016-12-21 01:30:42
【问题描述】:

注意我已经看过这些链接:

CasperJS and downloading a file via iFrame and JavaScript

Submitting a form with casperjs

我认为它们非常适合我想要完成的工作,但我的努力没有结果。

我正在尝试通过 https://www.youtube2mp3.cc/#conversion 将 mp3 下载到我的文件系统,并且我一直在尝试通过 CasperJS 来实现这一点。

这是我的代码:

var casper = require('casper').create({verbose: true , logLevel: "debug" });
var fs = require('fs');
casper.start('http://www.video2mp3.de/');
casper.waitForSelector("#converter > form");
casper.fill('#converter > form', { video: 'https://www.youtube.com/watch?v=VoaUYcwEpSw' }, true);
casper.waitForSelector("#file");
var url = casper.getElementAttribute('#file','href');
var mp3 = fs.absolute("unstoppable.mp3");
casper.then(function() { this.download(url, mp3); });
casper.run();

我想我有点天真地认为它会这么简单,但我找不到我的错误。调试器不是很有帮助。我一直在终端中使用以下命令运行我的文件:

casperjs --web-security=no sample.js

任何帮助将不胜感激。

【问题讨论】:

    标签: javascript casperjs


    【解决方案1】:

    答案:

    我设法通过使用屏幕截图来调试我的代码使其正常工作。如果有人感兴趣,这是最终结果:

    var casper = require('casper').create({verbose: true , logLevel: "debug" });
    var fs = require('fs');
    var url = "https://www.youtube2mp3.cc/"
    casper.start(url);
    casper.then(function(){
        this.fill('#converter > form', { 'video': 'https://www.youtube.com/watch?v=VoaUYcwEpSw' }, true);
    });
    casper.wait(2000);//this is probably what I was missing, 
                    //a screen capture showed that I wasn't waiting long enough
    casper.then(function(){
        this.waitForSelector("#file", function(){
            var url = casper.getElementAttribute('#file','href');
            var mp3 = fs.absolute("unstoppable.mp3");
            casper.then(function() { this.download( url, mp3); });
        });
    });
    casper.run();
    

    下载的文件将在脚本所在的任何位置。 我正在使用:

    • CasperJS 1.1.2
    • PhantomJS 2.1.1

    在 MacOSX El Capitan 10.11.6 (15G1108) 上运行

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-11-20
      • 1970-01-01
      • 2018-07-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多