2012-10-06 55 views
0

我具有以下屬性尋找一個嵌入式無頭瀏覽器.NET:阿賈克斯/ HTML5支持無頭WebKit的包裝/驅動器沒有安裝.NET

  • 現代的Webkit水平,最好基於WebKit的
  • 無頭模式能夠(不可見的瀏覽器),更快的速度更好
  • 零安裝(像browser.exe和複製到項目中的c#封裝器DLL)
  • 可靠的生產用於基本任務(如複雜頁面的屏幕截圖),我沒有在這裏尋找99.9999的可靠性,但它需要比Selenium更穩定和更快,我們有很多冗餘,所以偶爾的錯誤是可以的。
  • 開放源或免費用於商業用途(最好MIT許可證),而不是一個被遺棄的項目

PhantomJS將是理想的,如果它沒有需要安裝。 PhantomJS除了'沒有安裝'部分之外似乎符合我的所有標準,因此它是目前最受歡迎的部分,但在我們投入時間設置和測試安裝PhantomJS的多環境部署過程之前(這是耗時的,因爲我們使用數千幾十個數據中心中的計算機)我想確保我不會錯過更好的選擇。我對非webkit實現開放,但它需要具有與現代webkit瀏覽器相同的功能,並且不會出現奇怪的渲染或AJAX問題。如果您認爲這是要走的路,我也有興趣瞭解PhantomJS的屏幕截圖AJAX/HTML5頁面的可靠性。例如,如果渲染頁面的服務器沒有圖形卡或高分辨率屏幕,則無頭瀏覽器會繼承該頁面並呈現難看的頁面?

+1

PhantomJS是一個簡單的例子,解壓zip文件以獲取exe文件。不知道如何安裝比這更簡單的軟件。 – Spudley

+0

這是個好消息!本文另有建議。也許它已過時或不正確http://skookum.com/blog/dynamic-screenshots-on-the-server-with-phantomjs/如果您確定不需要安裝,我們可以直接調用該exe文件打開一個無頭瀏覽器,然後如果你想發佈答案,我會接受它 – Glenn

+0

我猜這篇文章使它聽起來很困難的原因是它是前一段時間寫的。 Phantomjs是相當新的,它只是最後幾個版本,它開始成爲一個可用的工具,而不會讓你跳過太多的箍。當他嘗試使用時,很可能它不可用作預編譯的二進制文件。現在肯定是這樣,這讓它變得很容易。 – Spudley

回答

2

PhantomJS可以簡單地通過提取zip來安裝以獲取exe。所以在這方面很簡單。

對於ac#dll不太瞭解,因爲我沒有在.NET中使用它,但它可以從外部程序腳本化(這是它的全部點),所以它不應該太難了。

希望有所幫助。

+0

這聽起來很合適,感謝您的快速回復。所以,只需確認,exe實際上是PhantomJS應用程序,而不是安裝程序的權利?那麼webkit呢?我們必須做任何webkit依賴安裝嗎?希望一個'只需調用這個exe文件,它的工作原理': - ) – Glenn

+1

是的,exe是完整的應用程序,它是靜態鏈接的,所以它包含了它在exe文件中需要的所有東西 - 另請參見http:// phantomjs .org/download.html - 引用:'下載...並解壓縮...可執行文件bin/phantomjs.exe已準備好使用.' – Spudley

+0

謝謝!看起來這篇文章中的混淆來自於他的目標是構建源代碼而不是使用標準包。 – Glenn