博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
htmlunit 校验验证码
阅读量:6037 次
发布时间:2019-06-20

本文共 1786 字,大约阅读时间需要 5 分钟。

htmlUnit 校验验证码 

直接上代码

1       String url = "http://www.zycg.gov.cn/"; 2          3         WebclientUtil webClientUtils = new WebclientUtil(); 4         WebClient webClient = webClientUtils.getWebClient(); 5          6         HtmlPage page = webClient.getPage(url); 7                      8         HtmlElement username = page.getFirstByXPath("//*[@id='u_name']"); 9         HtmlElement password = page.getFirstByXPath("//*[@id='u_pwd1']");10         HtmlElement valiCode = page.getFirstByXPath("//*[@id='yzm']");11         HtmlImage valiCodeImg = (HtmlImage) page.getFirstByXPath("//*[@id='img_random']");12         ImageReader imageReader = valiCodeImg.getImageReader();13         BufferedImage bufferedImage = imageReader.read(0);14 15         JFrame f2 = new JFrame();16         JLabel l = new JLabel();17         l.setIcon(new ImageIcon(bufferedImage));18         f2.getContentPane().add(l);19         f2.setSize(100, 100);20         f2.setTitle("验证码");21         f2.setVisible(true);22         23         String valicodeStr = JOptionPane.showInputDialog("请输入验证码:");24         f2.setVisible(false);25         HtmlForm submit = page.getFirstByXPath("//*[@id='submitForm']");26         27         username.click();28         username.type("zhongkeruan");29         password.click();30         password.type("62570007");31         valiCode.click();32         valiCode.type(valicodeStr);33         34         35         ScriptResult result = page.executeJavaScript("dl()");36         page = (HtmlPage) result.getNewPage();37         38         if(page.asText().contains("下一页")){39             System.out.println("登录成功");40         }else{41             System.out.println("登录失败");42         }43         System.out.println(page.asText());

 

转载于:https://www.cnblogs.com/cmyxn/p/6957045.html

你可能感兴趣的文章
我的友情链接
查看>>
Java break continue return 的区别
查看>>
算法(Algorithms)第4版 练习 1.3.4
查看>>
jquery easyUI checkbox复选项获取并传后台
查看>>
浅析NopCommerce的多语言方案
查看>>
设计模式之简单工厂模式
查看>>
C++中变量的持续性、链接性和作用域详解
查看>>
2017 4月5日上午
查看>>
Google Chrome开发者工具
查看>>
第一阶段冲刺报告(一)
查看>>
使用crontab调度任务
查看>>
【转载】SQL经验小记
查看>>
zookeeper集群搭建 docker+zk集群搭建
查看>>
Vue2.5笔记:Vue的实例与生命周期
查看>>
论JVM爆炸的几种姿势及自救方法
查看>>
联合体、结构体简析
查看>>
使用throw让服务器端与客户端进行数据交互[Java]
查看>>
java反射与代理
查看>>
深度分析Java的ClassLoader机制(源码级别)
查看>>
微服务架构选Java还是选Go - 多用户负载测试
查看>>