我想使用来自某个网站的 PHPSESSID cookie 来使用 PhantomJS v1.9.1 中的会话
例如,假设我想在 PhantomJS 中加载一个网站,例如http://example.com。而且我想在 PhantomJS 中使用我的 Chrome 浏览器(我已经登录的地方)中的网站的 PHPSESSID cookie,以便在同一会话中登录。
但是,由于某种原因,它似乎不起作用。
我确信该网站使用 PHPSESSID cookie,因为我从 Chrome 开发控制台检查了 cookie。我也使用那里的确切值。
这是我的代码:
phantom.addCookie({
'name': 'PHPSESSID',
'value': 'xxxxxxxxxxxxxxxxxxxx',
'domain': 'example.com'
});
var page = require('webpage').create();
page.settings.userAgent = "Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.95 Safari/537.36";
page.open('http://example.com', function () {
page.render('screenshot.png');
for(var i=0; i<phantom.cookies.length; i++)
console.log(phantom.cookies[i].name+" = "+phantom.cookies[i].value);
phantom.exit();
});
请注意,出于安全原因,我已将 cookie 值更改为“xxxxxxxxxxxxxxxxxxxx”并将网站更改为“example.com”。
我也用其他网站测试过脚本(复制各自的 PHPSESSID 值),甚至一次都没有工作。
它还截取了一个屏幕截图,其中显示了登录屏幕(不是欢迎屏幕)。
我还打印了所有phantom.cookies
的 PHPSESSID 就在那里!
为什么它不起作用?难道我做错了什么?
干杯。