ITPub博客

首页 > 数据库 > 数据库开发技术 > selenium2java通过第三方登录绕过知乎登陆验证码

selenium2java通过第三方登录绕过知乎登陆验证码

原创 数据库开发技术 作者:FunTester 时间:2019-08-30 09:37:15 0 删除 编辑

本人在学习使用selenium2java的过程中,突然想把知乎首页的推荐内容放到本地或者把一个问题的优秀回答整理一下。可以知乎登录时那个选中倒立的汉字的验证码不胜其烦,后来想到用第三方登录绕过了知乎帐号登录。试了一下,感觉效果很不错,分享一下,供大家参考。

 1driver.get("https://www.zhihu.com/");
2        findElementByTextAndClick(driver, "登录");//点击知乎登录
3        findElementByXpathAndClick(driver, "html/body/div[1]/div/div[2]/div[2]/form/div[4]/span");//点击第三方帐号登录
4        String homehandle = driver.getWindowHandle();//获取当前handle
5        findElementByClassNameAndClick(driver, "sprite-index-icon-qq");//点击QQ登录
6        Set<String> handles = driver.getWindowHandles();//获取当前全部handle
7        for(String handle : handles){//遍历获取新窗口handle
8            if (handle.equals(homehandle) == false){
9            driver.switchTo().window(handle);//跳转新页面
10            driver.manage().window().maximize();//最大化
11            }
12        }
13        driver.switchTo().frame("ptlogin_iframe");//切入页面iframe
14        findElementByIdAndClick(driver, "img_out_1009329307");//选择自己QQ登录
15        for(String handle : handles){//回到知乎页面
16            if (handle.equals(homehandle) == true){
17            driver.switchTo().window(handle);//回到知乎
18            driver.manage().window().maximize();//最大化
19            }
20        }

比较简单,中间有个iframe,没其他难点了。

往期文章精选

  1. java一行代码打印心形

  2. Linux性能监控软件netdata中文汉化版

  3. 接口测试代码覆盖率(jacoco)方案分享

  4. 性能测试框架

  5. 如何在Linux命令行界面愉快进行性能测试

  6. 图解HTTP脑图

  7. 写给所有人的编程思维

  8. 如何测试概率型业务接口

  9. httpclient处理多用户同时在线

  10. 成为杰出Java开发人员的10个步骤

  11. 将swagger文档自动变成测试代码

公众号地图 ☢️ 一起来~FunTester

原文作者:FunTester;如有侵权,请联系管理员删除。

请登录后发表评论 登录
全部评论

注册时间:2019-07-07

  • 博文量
    1037
  • 访问量
    420673