• 【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

    待续。。。

  • 相关阅读:
    学习Oracle数据库入门到精通教程资料合集
    linux编程中printf显示不加换行的缓冲问题
    让 Terminal/vim 使用 Solarized 配色
    vim插件ctags的安装和使用
    rsync 同步文件
    try catch 场景
    关于浮点型的运算---比较
    mysql数据库死锁的产生原因及解决办法
    Laravel下载地址合集
    php垃圾回收机制
  • 原文地址:https://www.cnblogs.com/xiaozhaoboke/p/11139745.html
Copyright © 2020-2023  润新知