2013-06-19 39 views
0

我正在開發一個項目,我需要與無頭網頁引擎作爲一項服務對話 - 這意味着我需要Web引擎作爲守護程序運行,並通過某個界面與它交談。最佳無頭網頁引擎

我一直在使用PhantomJS + GhostDriver。它工作,但表現非常緩慢。由於存在奇怪的錯誤,它在很多情況下也失敗了。 (例如,我無法通過ghostdriver導航到amazon.com,因爲由於某種原因,它無法識別頁面加載何時完成,因此調用不會返回)。

有沒有一個更強大的解決方案,我想要做什麼?

回答

4

這一切都取決於你需要什麼功能。如果你需要一個不支持JavaScript的快速瀏覽器(或者不支持它)並且支持Selenium WebDriver,那麼你可以使用HtmlUnit(或許多其他的,但在我看來HtmlUnit具有最好的WebDriver支持)。然而,如果需要強大的JavaScript和「普通」瀏覽器模擬,PhantomJS + GhostDriver是一個不錯的選擇,因爲它使用帶有WebKit的JavaScriptCore引擎作爲後端。

爲了我的目的,我需要在GhostDriver可用之前使用Chrome(和chromedriver)。後者儘管並不完美,但在大多數情況下替代了Chrome,因爲它更快(主要是因爲不需要呈現頁面),並且與Chrome非常相似(由於WebKit - 尤其是JS引擎部分)。

+1

一個輕微的更正:PhantomJS不使用V8;它使用JavaScriptCore引擎,這是WebKit的股票JS引擎。 – JimEvans

+0

對不起,你是對的。我被功能請求困惑:) - 編輯。 –