首次通过手机验证码登录后,获取cookie,并将cookie保存到map中。
在主程序中定义map:
public static Map cookies;
public static boolean first;
JRTT.first首次为true,之后为false;
mian方法中:
cookies = new HashMap();
在selenium中:
(手动登录后获取当前cookie)
// 获得cookie
Set cookie = webDriver.manage().getCookies();
if (JRTT.first) {
// 保存登录的Cookies
for (Cookie ck : cookie) {
JRTT.cookies.put(ck.getName(), ck.getValue());
}
}
将原有缓存清空,添加保存的缓存
// 删除所有cookie
webDriver.manage().deleteAllCookies();
Cookie c;
// 将第一次登录的cookie保存
for (Map.Entry entry : JRTT.cookies.entrySet()) {
String key = entry.getKey();
String value = entry.getValue();
c = new Cookie(key, value);
webDriver.manage().addCookie(c);
// System.out.println("key=" + key + " value=" + value);
}
// 刷新页面
webDriver.navigate().refresh();
cookie填进页面中。多次循环,不用手动输入。只需在程序首次执行时输入。