2013-10-30 35 views
1
  • 網頁A:在存在資源 「common.css」
  • 網頁B:在存在資源 「common.css」

當模體打開頁面A和B,common.css的資源請求只有一次。PhantomJS:一個資源請求是隻有一次當多個頁面打開

-

示例代碼:

casper.on('resource.requested', function(req) { 
    if (req.url.indexOf('common.css') != -1) { 
     util.dump(req); 
    } 
}); 

-

如何每次在發送資源請求?

謝謝。

回答

1

這是因爲內存緩存。作爲一個無頭瀏覽器,phantomJS有一個用於HTTP請求的瀏覽器緩存(基於HTTP頭)。所有頁面實例都使用相同的內存緩存,這就是爲什麼同一個資源僅被請求一次的原因。

我知道有a pull request清除緩存之間的請求,但這是相當新的,不會合並,直到至少2.0(沒有發佈日期)。

我現在找到的唯一解決方案是爲每個測試產生一個新的phantomjs進程(當然沒有磁盤緩存)。

+0

我明白了。非常感謝! –

相關問題