2015-06-20 219 views
0

我在Windows 8.1上運行最新版本的PhantomJS。這裏是我的代碼:PhantomJS不保存cookies

console.log('cookies: ',phantom.cookies); 

phantom.addCookie({ 
    domain:'google.com', 
    path:'/', 
    expires:(new Date()).getTime() + (1000 * 60 * 60), 
    name:'test', 
    value:'value' 
}); 

phantom.exit(); 

我打過電話這樣的:

phantomjs test.js --cookies-file=cookies.txt 

phantomjs test.js --cookies-file="C:\path\cookies.txt" 

無論哪種方式,cookies.txt沒有被創建和phantom.cookies是空的。如何讓PhantomJS保存Cookie?

+0

PhantomJS具有與節點不同的執行環境。 PhantomJS和node.js之間有橋樑,但是這個腳本不使用這樣的橋樑。 –

回答

0

--cookies-file應該是PhantomJS的一個選項,而不是您的腳本。 PhantomJS還支持將命令行參數傳遞給腳本。您需要翻轉順序:

phantomjs --cookies-file=cookies.txt test.js 

當你一旦執行此行,phantom.cookies將是空的,但cookie.txt的將一個條目來創建。只有當你第二次執行它時,你纔會看到phantom.cookies不是空的。

在您的腳本啓動之前會讀取cookie jar,並在您退出腳本後進行編寫。