0
casper.jsのコードは次のようになります。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();
私はこのようなプロセスを呼び出しています。私は、コマンドラインから
>casperjs casper.js
を実行したときではなく、私は、Visual Studioからそれを実行しようとすると
System.Diagnostics.Process.Start(@"C:\CasperJS\casperjs-casperjs-b4f7669\bin\casperjs", @"C:\casper\casper.js");
は、それは動作します。なぜどんなアイデア?
問題が生じる場合は表示されます。また、コードがHTMLをダウンロードしてファイルに保存すると仮定すると、WebClientを使用してC#で行うことができるときに外部プログラムで複雑になるのはなぜですか? – Gusman
WebClientは、ヘッドレスブラウザができるようにjavascriptを実行できません。それはエラーを出さず、プログラムは実行され、テキストを表示せずに閉じます – Mike
私はcasperに精通していませんが、 'this.getHTML()'はHTMLコンテンツのみを送りますか?とにかく、プログラムが正しいディレクトリでなくなったように聞こえるのは、2つの文字列を受け入れるStart overloadは、ProcessStartInfoを受け入れ、正しいコマンドラインのWorkingDirectoryを設定するものを使用します。作業ディレクトリは.jsが格納されているディレクトリになります。次に、パラメータに完全パスを渡す必要はありません。単に "casper.js" – Gusman