PhantomJS ( vs nightwatch.js ) 设置 cookie 错误
PhantomJS ( vs nightwatch.js ) set cookie error
我发现(在 SO 有一些问题和疑问)phantom.js 跨域 cookie 问题。
所以为了解决这个问题,我尝试下一个 hack
.getCookies(function callback(result) {
var collectriumCookie = result.value[0];
appCookie = {
name : collectriumCookie.name,
domain: 'target.domain.com:5000',
value : collectriumCookie.value,
expiry : collectriumCookie.expire + 9999999
};
client.setCookie(appCookie);
})
.url('http://target.domain.com:5000/', function() {
client.setCookie(appCookie);
})
.url('http://target.domain.com:5000/', function() {
console.log(JSON.stringify(appCookie));
client.setCookie(appCookie);
client.getCookies(function(cookies) {
console.log(JSON.stringify(cookies))
});
})
我将 cookie 值存储在变量中并将其设置为目标子域(我尝试使用/不使用端口)
但是调试消息说:
{"name":"token","domain":"target.domain.com:5000","value":"2cb8f27ab0f0e19fe0f2076cde5bc82d5b6bb0ad148038a43c6945808e8210d64a2f062135f2bf59a580a4d3b9b207eda317aa3b413de951bd7d019feb5e1ec0","expiry":null}
{"sessionId":"f6e419ad-d848-423c-acd0-d7b153d0d64b","status":0,"state":"success","value":[{"name":"token","domain":".domain.com","secure":false,"path":"/","value":"","class":"org.openqa.selenium.Cookie","httpOnly":false,"hCode":110541305,"expiry":1428143377}],"class":"org.openqa.selenium.remote.Response","hCode":278799571}
cookie 不适用
为什么?
我找不到答案。但是 PhantomJS v 2
解决了跨域 cookie 的问题
目前编译有一些问题所以我花了大约 5 分钟找到二进制文件
我发现(在 SO 有一些问题和疑问)phantom.js 跨域 cookie 问题。
所以为了解决这个问题,我尝试下一个 hack
.getCookies(function callback(result) {
var collectriumCookie = result.value[0];
appCookie = {
name : collectriumCookie.name,
domain: 'target.domain.com:5000',
value : collectriumCookie.value,
expiry : collectriumCookie.expire + 9999999
};
client.setCookie(appCookie);
})
.url('http://target.domain.com:5000/', function() {
client.setCookie(appCookie);
})
.url('http://target.domain.com:5000/', function() {
console.log(JSON.stringify(appCookie));
client.setCookie(appCookie);
client.getCookies(function(cookies) {
console.log(JSON.stringify(cookies))
});
})
我将 cookie 值存储在变量中并将其设置为目标子域(我尝试使用/不使用端口)
但是调试消息说:
{"name":"token","domain":"target.domain.com:5000","value":"2cb8f27ab0f0e19fe0f2076cde5bc82d5b6bb0ad148038a43c6945808e8210d64a2f062135f2bf59a580a4d3b9b207eda317aa3b413de951bd7d019feb5e1ec0","expiry":null}
{"sessionId":"f6e419ad-d848-423c-acd0-d7b153d0d64b","status":0,"state":"success","value":[{"name":"token","domain":".domain.com","secure":false,"path":"/","value":"","class":"org.openqa.selenium.Cookie","httpOnly":false,"hCode":110541305,"expiry":1428143377}],"class":"org.openqa.selenium.remote.Response","hCode":278799571}
cookie 不适用
为什么?
我找不到答案。但是 PhantomJS v 2
解决了跨域 cookie 的问题目前编译有一些问题所以我花了大约 5 分钟找到二进制文件