私はNodeJsとNightmareJsの新機能です。 nightmare-inline-downloadプラグインを使用して、同じページから複数のファイルをダウンロードする必要があります。 これまでのところ私のコードは、最初のファイルをダウンロードできます。しかし、ページにリンクされたすべてのファイルをダウンロードする方法、つまりclick(selector).download()
を適切な方法でループする方法を知ることはできません。さらに、ダウンロードしたすべてのファイル名を取得するには、ループしたダウンロードをどのようにして収穫しますか?NighmareJで複数のファイルを連続してダウンロードするにはどうすればよいですか?
クリックする必要があるタグ<a>
に注意してください:<a target="_blank" class="download-link">Download</a>
。 href
属性はありません。タグをクリックすると、ダウンロードを開始するスクリプトがトリガーされます。
このウェブサイトでは、一度に1回のダウンロードだけを開始できます。ここで
は、これまでの私のコードです:
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');
});