selenium获取百度账户cookies

【效果图】

效果图最后即为获取到的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登录,就要应付烦人的各种验证码了。

posted @ 2018-03-25 20:22  李凯伦  阅读(503)  评论(0)    收藏  举报