【java+selenium3】自动化cookie操作+图形验证码处理 (十五)

时间:2024-01-01 19:49:57

一、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中方便测试,上线后关掉这个功能)

【java+selenium3】自动化cookie操作+图形验证码处理 (十五) 【java+selenium3】自动化cookie操作+图形验证码处理 (十五) 【java+selenium3】自动化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

待续。。。