Zombie.js - 下载文件支持

Tre*_*vor 3 javascript web-crawler node.js zombie.js

我正在尝试处理 Zombie.js 中的下载提示,查看API,我没有看到任何指示如何执行此操作的内容。

基本上我想做的是浏览需要身份验证的网站,然后单击该网站上的按钮(无 href),然后自动进行下载。下载的文件将被重命名并发送到指定的文件夹。

有办法实现这一点吗?

jny*_*len 5

Zombie.js 似乎没有提供直接执行您想要的操作的方法,但在内部它使用请求下载文件,然后发出一个response您可以侦听的事件(请参阅resources.coffee):

var browser = new Zombie();

browser.on('response', function(request, response) {
    browser.response = response;
});

browser.visit('http://test.com/', function() {
    browser.clickLink('Download the file', function() {
        // the 'response' handler should have run by now
        var fileContents = browser.response.body;
    });
});
Run Code Online (Sandbox Code Playgroud)

这似乎对我来说效果很好。