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();
我打電話給這個過程。
System.Diagnostics.Process.Start(@"C:\CasperJS\casperjs-casperjs-b4f7669\bin\casperjs", @"C:\casper\casper.js");
,當我在命令行中運行
>casperjs casper.js
但不是當我嘗試從Visual Studio運行它的工作原理。任何想法爲什麼?
它給出了什麼錯誤?另外,我可以假設代碼只是下載一個HTML並將其存儲在文件中,當您可以使用WebClient在C#中完成時,爲什麼將它與外部程序複雜化? – Gusman
WebClient無法以無頭瀏覽器的方式執行JavaScript。它不會給出任何錯誤,程序運行並關閉而不顯示任何文本 – Mike
嗯,我不是非常精通casper,但'this.getHTML()'只會得到html內容發送,不是嗎?無論如何,這聽起來像是如果程序用完了它的正確目錄,而不是Start重載接受兩個字符串使用接受ProcessStartInfo並將WorkingDirectory設置爲正確的那個,對於您發佈的命令行,我認爲正確工作目錄將存儲.js,然後你不需要傳遞參數的完整路徑,只需傳遞「casper.js」 – Gusman