2016-09-21 3 views
0

Ich versuche, eine der PDF-Dateien von meinem Server mit den Nightmarejs herunterzuladen. Ich habe es Modul über den Knoten installieren, wie: -So deaktivieren Sie das Anzeigen der Druckereingabeaufforderung in NightmareJs

npm install nightmare 

und notieren Sie den folgenden Code: -

var Nightmare = require('nightmare'); 

var nightmare = Nightmare({ show: false}) 

nightmare 
    .goto(url) // url of my site 
    .size() 
    .type('[name=email]', '') 
    .type('[name=email]', '[email protected]') 
    .type('[name=password]', 'test') 
    .click('#signInSubmit') 
    .wait(2000) 
    .pdf("test.pdf") 
    .evaluate(function() { 
return document 

    }) 
    .end() 
    .then(function (result) { 
console.log(result) 
    }) 
    .catch(function (error) { 
    console.error('Search failed:', error); 
    }); 

es wird die PDF-Datei in meinem aktuellen Verzeichnis speichern, sondern, wie ich auch Elektron auf false gesetzt Es wird der Browser nicht angezeigt, aber es wird die Druckereinstellungsaufforderung zum Drucken angezeigt. Ich brauche diese Aufforderung einfach nicht angezeigt zu werden. Ich will nur wissen, wie ich das erreichen kann. Wenn ich google, wird es mir erlauben, still zu stellen, aber ich weiß nicht, wo ich diese stille wahre Option einstellen soll.

var nightmare = Nightmare({ show: false}) 

Ich meine, wie und wo konfiguriere ich die Elektroneneinstellung in Albtraum js Skriptdatei.

Antwort

0

Ruft die Seite window.print()? Wenn ja, könnten Sie wahrscheinlich mit der Definition eines custom preload script basierend auf dem wegkommen und eine Überschreibung für die Druckfunktion hinzufügen. Das sollte verhindern, dass der Druckdialog erscheint. Aus der Hüfte:

window.print = function(){ 
    //shows the print call in the DEBUG log 
    __nightmare.ipc.send('log', 'print called'); 
} 
Verwandte Themen