Lade eine Datei mit Nightmare herunter

8

Ich benutze Nightmare, um einen automatisierten Downloader für die heutige Zeitung zu erstellen. Ich habe es geschafft, mich anzumelden und auf die angegebene Seite zu gehen. Allerdings konnte ich nicht herausfinden, wie man eine Datei mit Nightmare herunterlädt.

%Vor%

Ich habe versucht, die Datei herunterzuladen, indem ich auf den Download-Button klicke. Dies scheint jedoch nicht zu funktionieren.

    
Fokke Dekker 24.11.2014, 16:32
quelle

4 Antworten

4

PhantomJS (und CasperJS und Nightmare) lösen keinen Download (Dialog) aus, wenn Sie auf etwas klicken, das heruntergeladen werden soll. Also, es ist notwendig, es selbst herunterzuladen. Wenn Sie die URL der Datei herausfinden können, kann sie einfach mithilfe eines XMLHttpRequest aus dem Seitenkontext heruntergeladen werden.

Sie müssen also

austauschen %Vor%

für

%Vor%

Sie können auch die neuere Art der Abfrage von Binärdaten verwenden.

%Vor%

Beide Möglichkeiten sind in MDN beschrieben. Hier ist ein Beispielskript, das einen Proof of Concept zeigt.

    
Artjom B. 24.11.2014 21:17
quelle
2

Es gibt ein Nightmare Download-Plugin . Sie können die Datei nur mit folgendem Code herunterladen:

%Vor%
    
Maksim Groshevoi 20.12.2016 16:06
quelle
1

Ich habe meine Downloads superleicht mit dem request Modul , wie beschrieben < a href="https://stackoverflow.com/a/12751657/1678614"> hier .

%Vor%

Führen Sie npm i request aus, um request zu verwenden.

    
Nelu 09.09.2016 05:26
quelle
0

Nightmare wird es richtig herunterladen, wenn Sie auf den Download-Link klicken.

%Vor%     
Pranay Pant 19.03.2017 22:11
quelle