【java+selenium3】自动化cookie操作+图形验证码处理 (十五)
一、cookie操作
1.获取浏览器所有的cookie
import java.util.Set; import org.openqa.selenium.Cookie; //获取浏览器所有的cookie Set<Cookie> cookies=driver.manage().getCookies(); for (Cookie cookie : cookies) { System.out.println(cookie.getName()+":"+cookie.getValue()); }
2.获取指定名称的cookie
//根据指定的名称获取浏览器cookie中保存的验证码 String strCookie =driver.manage().getCookieNamed("verifycode").getValue();
3.添加cookie
Cookie weiteCookie = new Cookie(name, value, domain, path, expiry) driver.manage().addCookie(weiteCookie);
4.删除cookie
Cookie cookie = driver.manage().getCookieNamed("verifycode");
driver.manage().deleteCookie(cookie);
二、图形验证码
1.通过cookie形式回写浏览器
即:登录页面在加载的时候,获取验证码会请求服务器调用一个接口,服务器响应返回一个图形验证码(图片形式)写回浏览器(测试环境下可以将这个验证码以cookie的形式返回到浏览器Cookie中方便测试,上线后关掉这个功能)
//获取浏览器cookie中保存的验证码,如上图:verifycode=>value:L1ZH String strCookie =driver.manage().getCookieNamed("verifycode").getValue(); driver.findElement(By.id("XXX")).sendKeys(strCookie);
2.服务器端预留一个万能的验证码(反馈开发预留)
3.提供接口获取此验证码的内容(服务器将验证码内容存在数据库,反馈开发提供接口获取)
4.图片识别详解参考:https://www.cnblogs.com/xiaozhaoboke/p/11144422.html
待续。。。