htmlunit 校驗驗證碼


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());

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM