我在Windows 8.1上运行最新版本的PhantomJS。这是我的代码:
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 :(得分:1)
--cookies-file
应该是PhantomJS的一个选项而不是你的脚本。 PhantomJS还支持将命令行参数传递给脚本。您需要翻转订单:
phantomjs --cookies-file=cookies.txt test.js
当您执行此行一次时,phantom.cookies
将为空,但将使用单个条目创建cookies.txt。只有当您再次执行它时,您才会看到phantom.cookies
不为空。
在脚本启动之前读取cookie jar,并在退出脚本后写入。