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?
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
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
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