如何将可下载文件 link 保存到 zombie.js
How to save the downloadable file link in zombie.js
我正在使用 node.js 和 zombie.js 删除一个网站。我面临一个问题,在文件中我有一个锚点,它包含 link 以下载 pdf 文件。
如果我使用 browser.clickLink() 函数单击它,我在控制台中得到的结果超出了我的理解。有没有办法保存此 pdf 文件并使其 link 像 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();
});
});
这是我在 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
});
}
我正在使用 node.js 和 zombie.js 删除一个网站。我面临一个问题,在文件中我有一个锚点,它包含 link 以下载 pdf 文件。 如果我使用 browser.clickLink() 函数单击它,我在控制台中得到的结果超出了我的理解。有没有办法保存此 pdf 文件并使其 link 像 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();
});
});
这是我在 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
});
}