您的位置:首页 > 其它

Selenium WebDriver对cookie进行处理绕过登录验证码

2017-04-26 14:31 686 查看
现在几乎所有登录页面都会带一个验证码,做起自动化这块比较麻烦, 所以要绕过网站的验证码。

首先需要手动登录一次你的测试网站,去chrome的F12里获取这个网站的cookie信息,找到对应的保存登录信息的cookie,记录下来备用,接下来再代码中将上述cookie信息通过webdriver写入的自动化脚本所弹出的浏览器中,这样服务器就会认为你已经登录过了,从而达到绕过登录环节的目的。

 

代码参考如下:
 
driver = new ChromeDriver();
String strUrl = "http://c.highpin.cn/PersonalCenter/Index";
driver.get("http://c.highpin.cn/");
Thread.sleep(2000);
 
public void Login() throws InterruptedException {
driver = new ChromeDriver();
String strUrl = "http://c.highpin.cn/PersonalCenter/Index";
driver.get("http://c.highpin.cn/");
Thread.sleep(2000);
 
driver.manage().deleteAllCookies(); // 删除cookie里的内容
 
Cookie ck = new Cookie("SeekerChatAuth", "token=064F4E495931522779490A38445F626312377128074F4B495631562775490238405F"); // 初始化已经保存了登录信息的cookie
Cookie ck1 = new Cookie("SeekerInfo", "UserName=157301660073136A0D651861336417730267447706680E7309661&UserID=507350664A73536A42655061416450731&CID=C064F4E495931522779490A38445F6263");
Cookie ck2 = new Cookie("UserStatus", "UserStatus=537354664273516A5A6558614A644B7343675C774568507350664973536A4F65526142645F731");
Cookie ck3 = new Cookie("SeekerMSiteChatAuth", "token=064F4E495931522779490A38445F626312377128074F4B495631562775490238405F");
 
driver.manage().addCookie(ck); // webdriver添加cookie
driver.manage().addCookie(ck1);
driver.manage().addCookie(ck2);
driver.manage().addCookie(ck3);
 
driver.get(strUrl);
driver.manage().window().maximize();
Thread.sleep(3000);
 
driver.quit();
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  自动化