Как я могу получить загрузку, инициированную JavaScript, с помощью Nightmare js?

Загрузка файла запускается нажатием на кнопку. Кнопка имеет атрибут onclick, который инициирует загрузку файла.

Поскольку у меня нет прямого URL-адреса файла. Я не могу использовать модуль request для запроса файла, как описано в Загрузить файл с помощью Nightmare


person Jeril Sebastian    schedule 12.05.2017    source источник
comment
Не могли бы вы предоставить URL/код, с которым вы пытаетесь?   -  person devilpreet    schedule 23.06.2017


Ответы (1)


Вы можете попробовать использовать nightmare-download-managerи сделать что-то вроде этого:

nightmare.on('download', function(state, downloadItem) {
    if(state == 'started') {
        nightmare.emit('download', 'yourfilename.txt', downloadItem);
    } else if(state == 'completed') {
        console.log('Donwload completed');
    } else if(state == 'interrupted') {
        endNightmare();
    } else if(state == 'cancelled') {
        endNightmare();
    }
});

nightmare
.downloadManager()
.goto(url)
.click('#javascriptDownloadBtn')
.waitDownloadsComplete()
.then(function() {
    return nightmare.end();
})
person Seb    schedule 08.07.2017
comment
как вы это делаете для изображений? например, копировать правой кнопкой мыши сохранить изображение. - person A. L; 03.11.2017