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.
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.
Es gibt ein Nightmare Download-Plugin . Sie können die Datei nur mit folgendem Code herunterladen:
Nightmare wird es richtig herunterladen, wenn Sie auf den Download-Link klicken.
%Vor%Tags und Links javascript phantomjs download nightmare