Я очень новичок в NodeJs и NightmareJs. Мне нужно загрузить несколько файлов с одной страницы, используя nightmare-inline-download плагин. Пока мой код ниже может загрузить первый файл. Но я не могу понять, как загрузить все файлы, связанные со страницей, то есть как правильно зациклиться на click(selector).download()
. Кроме того, как я могу получить все загруженные имена файлов после зацикленных загрузок?
Обратите внимание на теги 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');
});