2014-03-07 56 views
0

我是新來使用phantomjs,我只是試圖加載並使用網站上給出的例子呈現頁面:幻影JS時間超過1分鐘,加載example.com

var url='http://www.example.com' 
var page = require('webpage').create(); 
page.open(url, function() { 
    page.render('example.png'); 
    phantom.exit(); 
}); 

該接管運行一分鐘,如time所報道。

我正在使用千兆以太網連接的現代筆記本電腦(Thinkpad X1 Carbon)上運行,並且在Firefox中加載相同的頁面需要一秒鐘的時間。

找到這個根本原因的任何提示,或者這個的常見可能原因?

更新:我試過註釋掉page.render,但運行時間非常相似,所以我不認爲這是渲染速度問題。

回答

1

很難說出你的瓶頸在哪裏,沒有任何細節。提供您正在運行的phantomjs和平臺版本。一般情況下,我會嘗試尋找到的一個問題是perfoming以下步驟:

  • 嘗試用JS參數運行phanomjs,像斌/ phantomjs --version

在我的情況下,它是1.9 0.1。它應該立即響應。

  • 試着簡化你的js,在你的情況下,你可以刪除:

    page.render('example.png');

  • 嘗試安裝新版本的phantomjs。或者如果你已經,嘗試不同的版本。

  • 嘗試看看HAR輸出:

    斌/ phantomjs例子/ netsniff.js http://www.example.com

因此你會看到像水木清華:

"entries": [ 
      { 
       "startedDateTime": "2014-03-07T11:18:49.841Z", 
       "time": 1013, 
       "request": { 

所以,在我的情況下,phantomjs被加載到內存後,加載一個頁面需要1013毫秒。

如果它對您而言大致相同,則意味着在加載phantomjs時出現問題。如果您使用的是Linux,或者您的Windows使用的是analog,則可以嘗試使用strace來調試phantomjs。

strace bin/phantomjs examples/netsniff.js http://www.example.com 

然後,看看在什麼系統調用它停止。

相關問題