Я очень новичок в NodeJs и NightmareJs. Мне нужно загрузить несколько файлов с той же страницы, используя плагин nightmare-inline-download. Пока что мой код ниже может скачать первый файл. Но я не могу понять, как загрузить все файлы, связанные со страницей, то есть как правильно обходить click(selector).download()
. Более того, как я буду уступать зацикленным загрузкам, чтобы получить все загруженные имена файлов?Как я могу загрузить несколько файлов с помощью NighmareJs?
Обратите внимание на теги HTML <a>
. Мне нужно нажать: <a target="_blank" class="download-link">Download</a>
. Нет атрибута href
; нажатие тега запускает скрипт, который запускает загрузку.
Веб-сайт позволяет запускать только одну загрузку в то время.
Вот мой код до сих пор:
var Nightmare = require('nightmare');
require('nightmare-inline-download')(Nightmare);
var nightmare = Nightmare({ show: false });
nightmare
.goto(pageUrl)
.evaluate({
var links = document.querySelectorAll('.download-link');
for(var i = 0, i < links.length; i++) {
links[i].setAttribute('download-this', 'true');
}
})
.click('[download-this="true"]') // will select just the first element
.download()
.end()
.then(() => {
console.log('done');
});