如何在zombie.js中保存可下载的文件链接

时间:2018-03-20 13:44:10

标签: javascript node.js zombie.js

我正在使用node.js和zombie.js废弃网站。我正面临一个问题,在一个文件中,我有一个锚,其中包含下载pdf文件的链接。 如果我使用browser.clickLink()函数单击它,我在控制台中得到的结果超出了我的理解。有没有办法保存这个pdf文件,并在PHP中有它的链接?我想保存它以便进一步处理。这是我的测试js代码



var http = require('http');
var browser = require('zombie');
var assert = require('assert'); 

const hostname = '127.0.0.1';
const port = 3000;

const server = http.createServer((req, res) => {
  res.statusCode = 200;
  //res.setHeader('Content-Type', 'text/plain');
  //res.end('Hello World\n');
});

server.listen(port, hostname, () => {
  console.log(`Server running at http://${hostname}:${port}/`);
  
});

var url = 'http://localhost/Node/HM_LandRegistry/downloadPdf.html'

browser.visit(url, function(error,browser) {
  
  
  //browser.dump();
 //console.log('browser.text (".link")', browser.text(".link")); 
 browser.clickLink("a.link");
  browser.wait().then(function(){
     console.log(browser.text());
     browser.dump();
  });
});




1 个答案:

答案 0 :(得分:0)

以下是我在Google群组中发现的内容。它解决了我的问题。

function getLinks(browser) {
 var links = browser.querySelectorAll('.link');
 return Array.prototype.map.call(links, function(e) {
 return e.getAttribute('href'); // returns an array. Use .toString() to get string only
});
}

Save the link