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());                        
    
        }
  • 相关阅读:
    scrapy框架之comand line tool
    CSS选择器与XPath语言
    Selenium之Web页面滚动条滚操作
    Selenium+Chrome+PhantomJS 爬取淘宝
    爬取今日头条中的图片
    django 和 mongdb 写一个简陋的网址,以及用django内置的分页功能
    charts 画饼图
    charts 画折线图
    oracle的char和varchar类型
    ORA-02049: 超时: 分布式事务处理等待锁的解决方法
  • 原文地址:https://www.cnblogs.com/davidwang456/p/3448240.html
Copyright © 2011-2022 走看看