zoukankan      html  css  js  c++  java
  • HtmlUnit: A Simple Example: Check Yahoo Email---转载

    1. src http://www.muneebahmad.com/index.php/archives/81

    package com.examples.htmlunit;
    
    import java.io.IOException;
    import java.net.URL;
    import java.util.List;
    
    import com.gargoylesoftware.htmlunit.BrowserVersion;
    import com.gargoylesoftware.htmlunit.Page;
    import com.gargoylesoftware.htmlunit.RefreshHandler;
    import com.gargoylesoftware.htmlunit.WebClient;
    import com.gargoylesoftware.htmlunit.html.HtmlAnchor;
    import com.gargoylesoftware.htmlunit.html.HtmlForm;
    import com.gargoylesoftware.htmlunit.html.HtmlPage;
    import com.gargoylesoftware.htmlunit.html.HtmlTable;
    import com.gargoylesoftware.htmlunit.html.HtmlTableRow;
    
    public class YahooMail {
    
        public static void main(String[] args) throws Exception {
    
            // Create and initialize WebClient object
            WebClient webClient = new WebClient(BrowserVersion.FIREFOX_2);
            webClient.setThrowExceptionOnScriptError(false);
            webClient.setRefreshHandler(new RefreshHandler() {
                public void handleRefresh(Page page, URL url, int arg) throws IOException {
                    System.out.println("handleRefresh");
                }
    
            });
    
            // visit Yahoo Mail login page and get the Form object
            HtmlPage page = (HtmlPage) webClient.getPage("https://login.yahoo.com/config/login_verify2?.intl=us&.src=ym");
            HtmlForm form = page.getFormByName("login_form");
    
            // Enter login and passwd
            form.getInputByName("login").setValueAttribute("@@@@@@@");
            form.getInputByName("passwd").setValueAttribute("@@@@@@@");
    
            // Click "Sign In" button/link
            page = (HtmlPage) form.getInputByValue("Sign In").click();
    
            // Click "Inbox" link
            HtmlAnchor anchor = (HtmlAnchor) page.getHtmlElementById("WelcomeInboxFolderLink");
            page = (HtmlPage) anchor.click();
    
            // Get the table object containing the mails
            HtmlTable dataTable = (HtmlTable) page.getHtmlElementById("datatable");
    
            // Go through each row and count the row with class=msgnew
            int newMessageCount = 0;
            List rows = (List) dataTable.getHtmlElementsByTagName("tr");
            for (HtmlTableRow row: rows) {
                if (row.getAttribute("class").equals("msgnew")) {
                    newMessageCount++;
                }
            }        
    
            // Print the newMessageCount to screen
            System.out.println("newMessageCount = " + newMessageCount);
    
            //System.out.println(page.asXml());                        
    
        }
  • 相关阅读:
    汉明距离
    Go_go build 和 go install
    rabbitmq的简单介绍二
    rabbitmq的简单介绍一
    redis的订阅和发布
    python操作redis
    vmware虚拟机开机报附件中的错误的解决办法
    使用twised实现一个EchoServer
    python事件驱动的小例子
    mysql数据库的最基本的命令
  • 原文地址:https://www.cnblogs.com/davidwang456/p/3448240.html
Copyright © 2011-2022 走看看