chromeDriver是ChromeDriver对象的实例
final String beforeUrl = chromeDriver.getCurrentUrl();// 获取登录前的url地址
while (chromeDriver.getCurrentUrl().equals(beforeUrl)){// 不断的获取地址判断一下,地址有没有变
// 页面没有跳转就让他等待,等待自己重定向到登录后的页面,然后再获取cookie时就是正确的cookie
}
// 到这里说明页面进行了跳转
// 进行刷新页面获取cookie
chromeDriver.navigate().refresh();// 刷新页面获取cookie,不然会导致cookie数据有问题
//获得cookie
Set<Cookie> coo = manage.getCookies();// 得到所有cookie
关于cookie解析处理成 键值对的形式,也就是处理成请求中cookie的格式
k1=v1;k2=v2;k3=...
/**
* cookie数据的处理
*
* @param cookies 传入cookie的集合
* @return k1=v1;k2=v2; 这种形式的cookie字符串
*/
private String parseCookieSet(Set<Cookie> cookies) {
if (cookies == null) {
return "";
}
System.out.println("\n解析前cookie是" + cookies.toString());
String cookieString = "";
for (Cookie cookie : cookies) {
if (StringUtils.hasText(cookie.getValue())) {// 为空的cookie则去除
cookieString += (cookie.getName() + "=" + cookie.getValue() + ";");
}
}
System.out.println("解析后:\n" + cookieString);
return cookieString;
}