2016-05-12 18 views
0

Der casper.js-Code sieht so aus.Ausführen von Prozessen aus Visual Studio

var casper = require('casper').create(); 
var fs = require('fs'); 
var path = 'test.txt'; 

fs.touch(path); 

casper.start('http://www.google.com', function() { 
    fs.write(path, this.getHTML(), 'w'); 
}); 

casper.run(); 

Ich rufe den Prozess so.

System.Diagnostics.Process.Start(@"C:\CasperJS\casperjs-casperjs-b4f7669\bin\casperjs", @"C:\casper\casper.js"); 

Es funktioniert, wenn ich

>casperjs casper.js 

von der Kommandozeile ausgeführt werden, aber nicht, wenn ich versuche, es von Visual Studio zu laufen. Irgendwelche Ideen warum?

+1

gibt es einen Fehler? Außerdem kann ich davon ausgehen, dass Code nur einen HTML-Code herunterlädt und ihn in einer Datei speichert, warum er es mit externen Programmen verkompliziert, wenn Sie es einfach in C# mit WebClient machen können? – Gusman

+0

Der WebClient kann JavaScript nicht so ausführen, wie es ein kopfloser Browser kann. Es gibt keinen Fehler, das Programm läuft und schließt ohne einen Text zu zeigen – Mike

+0

Nun, ich bin nicht sehr versiert auf casper, aber 'this.getHTML()' wird nur den HTML-Inhalt gesendet, nicht? Wie auch immer, das hört sich so an, als ob das Programm nicht mehr im richtigen Verzeichnis läuft, anstelle der Startüberladung, die zwei Zeichenfolgen akzeptiert, die eine ProcessStartInfo akzeptiert und das WorkingDirectory auf die richtige setzt, für die von mir gepostete Befehlszeile nehme ich die richtige an Arbeitsverzeichnis ist das, in dem die .js gespeichert wird, und dann müssen Sie nicht den vollständigen Pfad für die Parameter übergeben, übergeben Sie einfach "casper.js" – Gusman

Antwort

0

Dies wurde leicht durch Verschieben der JS-Datei in das gleiche Verzeichnis wie meine application.exe Datei behoben. Ich habe dann CasperJS zu meinem Pfad hinzugefügt, so dass es aufgerufen werden kann, ohne den vollständigen Pfad angeben zu müssen. Mein C# -Code sah schließlich so aus.

Process.Start("casperjs", "casp.js"); 

Wo casperjs ist das casperjs Programm und casp.js ist die JavaScript-Datei, die ich zu laufen bin versucht.

Verwandte Themen