2016-05-16 57 views
1

我寫了一個運行幾個PhantomJS任務的小Bash腳本。PhantomJS HTTP請求緩存(或其他?)

例如:

./node_modules/.bin/phantomjs "phantomjs/snapshot.js" "$url" >file.html 

正如你看到的,我使用PhantomJS的記錄的信息將其寫入到一個文件中。

我在帶有JavaScript錯誤的URL上運行該命令。由於某些未知的原因,每次我使用相同的URL運行該命令時,我仍然遇到錯誤...儘管如果我對不同的Linux用戶也這樣做,一切都很好。另外,如果我使用不同的URL,一切都很好(但我需要使用引發錯誤的那個)。

有沒有一種方法PhantomJS使用緩存響應?我試圖在打開頁面之前添加clearCookies()和clearMemoryCache()方法,也嘗試在每次調用時添加隨機參數,但沒有任何幫助...

PhantomJS是最新版本。

+2

localStorage是運行之間唯一持久的東西。 –

+0

[phantomjs可能會自動清除其緩存?](http://stackoverflow.com/questions/28875584/does-phantomjs-regularly-clear-its-cache-automatically) –

+1

謝謝,你真的幫了我。我發現PhantomJS將localStorage存儲在/home/USER/.local/share/data/Ofi Labs/PhantomJS中,因此從那裏移除會有所幫助。 – Julius

回答

0

問題是,打破的電話進入localStorage,然後導致所有其他錯誤。顯然PhantomJS將localStorage保存在一個文件中,因此從/home/USER/.local/share/Ofi Labs/PhantomJS中刪除適當的條目清除了localStorage,現在問題消失了。