【效果图】
效果图最后即为获取到的cookies,百度账户的cookies首次获取,需要手动登录,之后就可以注入cookies,实现免密登录。
【代码】
public class baiduCookieGet {
//百度的cookie定期更新,重新手动获取
public static void main(String[] args) {
System.setProperty("webdriver.gecko.driver", "C:\\code\\selenium\\geckodriver.exe");
WebDriver driver = new FirefoxDriver();
//进入个人主页
driver.get("https://www.baidu.com");
driverWait(driver, 2000);
//手动输账号和验证
driverWait(driver, 30000);
System.out.println("结束等待");
//输出cookie name value domain 其它默认
Set<Cookie> cookies = driver.manage().getCookies();
System.out.println("cookie总数"+cookies.size());
for (Cookie cookie : cookies) {
System.out.println(cookie.getName()+","+cookie.getValue()+","+cookie.getDomain()+","+cookie.getPath()+","+cookie.getExpiry());
}
}
//driver等待
public static void driverWait(WebDriver driver,long time) {
try {
synchronized (driver) {
System.out.println("begin wait() ThreadName="
+ Thread.currentThread().getName());
driver.wait(time);
System.out.println(" end wait() ThreadName="
+ Thread.currentThread().getName());
}
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
【结束语】
获取cookies是免密登录的最重要一步,如果不能实现cookies登录,就要应付烦人的各种验证码了。
上文内容不用于商业目的,如涉及知识产权问题,请权利人联系博为峰小编(021-64471599-8017),我们将立即处理。