zoukankan      html  css  js  c++  java
  • HtmlUnit初探

    HtmlUnit是一个用java实现的浏览器,是一个无界面的浏览器(headless browser),跟phatomJS好像是同一类事物.

    HtmlUnit基于apache httpClient,而httpClient基于URLConnection和Socket,URLConnection基于Socket.所以它们最终都是基于Socket.

            WebClient webClient = new WebClient();
            // webClient.getOptions().setCssEnabled(false);
            webClient.getOptions().setJavaScriptEnabled(false);
            HtmlPage page = webClient.getPage("http://www.baidu.com");
            HtmlTextInput kw = (HtmlTextInput) page.getElementById("kw");
            //通过这个语句测试一下到底是什么类型
            System.out.println(kw.getClass());
            HtmlSubmitInput su = (HtmlSubmitInput) page.getElementById("su");
            kw.setValueAttribute("暗算");
            // method1
            page = su.click();
            // method2
            // page = (HtmlPage) webClient.getCurrentWindow().getEnclosedPage();
            System.out.println(page.asXml());
            webClient.close();

    如果不禁用js和css,程序会抛出各种异常以致无法继续运行.

    使用HtmlUnit可以运行js

    WebClient webclient = new WebClient();  
    HtmlPage htmlpage = webclient.getPage("you url");  
    htmlpage.executeJavaScript("the function name you want to execute"); 

    表单的填写除了使用HtmlTextInput#setValueAttribute(),还可以使用HtmlInput#type().

  • 相关阅读:
    大数据的分页优化的思路
    escape()、encodeURI()、encodeURIComponent()区别详解
    PHP面向对象知识总结
    mysql 简单优化规则
    mysql语句内部优化
    js onmouseout的冒泡事件
    Android 开机自启动
    查看 AndroidManifest.xml文件
    Hierarchy Viewer显示视图性能指标
    Profile GPU rendering
  • 原文地址:https://www.cnblogs.com/weiyinfu/p/5931339.html
Copyright © 2011-2022 走看看