htmlunit官网简易教程(翻译)

1 环境搭建:

  1)下载

  从链接:http://sourceforge.net/projects/htmlunit/files/htmlunit/

  下载最新的bin文件

  2)关于bin文件

  里面主要包含两部分,一是lib目录下的.jar文件,还有就是apidocs目录下的帮助文件(即API说明文件,打开index-all.html,是以网页形式提供)

  3)配置java的CLASSPATH(纯手工方法)

  将lib目录下的所有.jar文件复制到任意目录(如:c:\htmlunit\lib\)

  然后右击我的电脑->属性->高级->环境变量->系统变量 中,对CLASSPATH进行编辑,如果没有就新建一个(如果运行java或编译时有错误,就在)

  务必将所有.jar文件的详细地址添加到CLASSPATH中,而不是用“c:\htmlunit\lib\”来代替,如.;c:\htmlunit\lib\1.jar;c:\htmlunit\lib\2.jar; 才是正确的写法

  务必每一个都写清楚,需要注意最前面有个点".",最后面有个";"

2 解释和说明:

  1).jar其实就是编译好的.class文件集,可以使用rar解压软件打开。所以.jar本质是一个目录

  2)官网的教程有些地方写的很奇怪和不直观,所以我做了些调整,主要是使输出结果更加直观

  3)里面每一个函数的具体使用方法在APIDOCS中已经有详细的说明了,我这里就不重复了

3 开始翻译教程

3.1 获取页面的TITLE、XML代码、文本

import com.gargoylesoftware.htmlunit.WebClient;
import com.gargoylesoftware.htmlunit.html.HtmlPage;
import com.gargoylesoftware.htmlunit.BrowserVersion;
import com.gargoylesoftware.htmlunit.html.HtmlDivision;
import com.gargoylesoftware.htmlunit.html.HtmlAnchor;
import com.gargoylesoftware.htmlunit.*;
import com.gargoylesoftware.htmlunit.WebClientOptions;
import com.gargoylesoftware.htmlunit.html.HtmlInput;
import com.gargoylesoftware.htmlunit.html.HtmlBody;
import java.util.List;

public class helloHtmlUnit{
    public static void main(String[] args) throws Exception{
        String str;
        //创建一个webclient
        WebClient webClient = new WebClient();
        //htmlunit 对css和javascript的支持不好,所以请关闭之
        webClient.getOptions().setJavaScriptEnabled(false);
        webClient.getOptions().setCssEnabled(false);
        //获取页面
        HtmlPage page = webClient.getPage("http://www.baidu.com/");
        //获取页面的TITLE
        str = page.getTitleText();
        System.out.println(str);
        //获取页面的XML代码
        str = page.asXml();
        System.out.println(str);
        //获取页面的文本
        str = page.asText();
        System.out.println(str);
        //关闭webclient
        webClient.closeAllWindows();
    }
}

3.2 使用不同版本的浏览器打开

import com.gargoylesoftware.htmlunit.WebClient;
import com.gargoylesoftware.htmlunit.html.HtmlPage;
import com.gargoylesoftware.htmlunit.BrowserVersion;
import com.gargoylesoftware.htmlunit.html.HtmlDivision;
import com.gargoylesoftware.htmlunit.html.HtmlAnchor;
import com.gargoylesoftware.htmlunit.*;
import com.gargoylesoftware.htmlunit.WebClientOptions;
import com.gargoylesoftware.htmlunit.html.HtmlInput;
import com.gargoylesoftware.htmlunit.html.HtmlBody;
import java.util.List;

public class helloHtmlUnit{
    public static void main(String[] args) throws Exception{
        String str;
        //使用FireFox读取网页
        WebClient webClient = new WebClient(BrowserVersion.FIREFOX_24);
        //htmlunit 对css和javascript的支持不好,所以请关闭之
        webClient.getOptions().setJavaScriptEnabled(false);
        webClient.getOptions().setCssEnabled(false);
        HtmlPage page = webClient.getPage("http://www.baidu.com/");
        str = page.getTitleText();
        System.out.println(str);
        //关闭webclient
        webClient.closeAllWindows();
    }
}

3.3 找到页面中特定的元素

public class helloHtmlUnit{
    public static void main(String[] args) throws Exception{
        //创建webclient
        WebClient webClient = new WebClient(BrowserVersion.CHROME);
        //htmlunit 对css和javascript的支持不好,所以请关闭之
        webClient.getOptions().setJavaScriptEnabled(false);
        webClient.getOptions().setCssEnabled(false);
        HtmlPage page = (HtmlPage)webClient.getPage("http://www.baidu.com/");
        //通过id获得"百度一下"按钮
        HtmlInput btn = (HtmlInput)page.getHtmlElementById("su");
        System.out.println(btn.getDefaultValue());
        //关闭webclient
        webClient.closeAllWindows();
    }
}

3.4 元素检索

public class helloHtmlUnit{
    public static void main(String[] args) throws Exception{
        //创建webclient
        WebClient webClient = new WebClient(BrowserVersion.CHROME);
        //htmlunit 对css和javascript的支持不好,所以请关闭之
        webClient.getOptions().setJavaScriptEnabled(false);
        webClient.getOptions().setCssEnabled(false);
        HtmlPage page = (HtmlPage)webClient.getPage("http://www.baidu.com/");
        //查找所有div
        List<?> hbList = page.getByXPath("//div");
        HtmlDivision hb = (HtmlDivision)hbList.get(0);
        System.out.println(hb.toString());
        //查找并获取特定input
        List<?> inputList = page.getByXPath("//input[@id=‘su‘]");
        HtmlInput input = (HtmlInput)inputList.get(0);
        System.out.println(input.toString());
        //关闭webclient
        webClient.closeAllWindows();
    }
}

3.5 提交搜索

public class helloHtmlUnit{
    public static void main(String[] args) throws Exception{
        //创建webclient
        WebClient webClient = new WebClient(BrowserVersion.CHROME);
        //htmlunit 对css和javascript的支持不好,所以请关闭之
        webClient.getOptions().setJavaScriptEnabled(false);
        webClient.getOptions().setCssEnabled(false);
        HtmlPage page = (HtmlPage)webClient.getPage("http://www.baidu.com/");
        //获取搜索输入框并提交搜索内容
        HtmlInput input = (HtmlInput)page.getHtmlElementById("kw");
        System.out.println(input.toString());
        input.setValueAttribute("雅蠛蝶");
        System.out.println(input.toString());
        //获取搜索按钮并点击
        HtmlInput btn = (HtmlInput)page.getHtmlElementById("su");
        HtmlPage page2 = btn.click();
        //输出新页面的文本
        System.out.println(page2.asText());
    }
}
时间: 2024-10-06 15:28:07

htmlunit官网简易教程(翻译)的相关文章

caffe官网的部分翻译及NG的教程

Caffe原来叫:Convolutional Architecture for Fast Feature Embedding 官网的个人翻译:http://blog.csdn.net/fengbingchun/article/details/49535873 NG的英文教程:http://ufldl.stanford.edu/tutorial/supervised/MultiLayerNeuralNetworks/ NG的中文教程:http://ufldl.stanford.edu/wiki/i

从unity3d官网下载教程

http://unity3d.com/learn/tutorials/projects/tanks-tutorial 官网的教程提供的下载链接https://www.assetstore.unity3d.com/en/#!/content/46209/ 根本无法下载 最后谷歌了下,发现需要在unity中打开,然后在里面的asset store中下载 坑爹了,下载速度超级慢.我等了好久 绿色的import按钮,可以导入 下载后的路径在 C:\Users\Administrator\AppData\

Payoneer官网注册教程,免费申请美国银行账号

在我搞网赚项目的过程中,碰到境外收款付款的问题,起初我用Paypal贝宝,手续费高得惊人!相信做电商外贸的朋友深有体会.幸而发现了Paypal替代产品Payoneer,注册简单,手续费低,还有中文网站.中文客服,payoneer比起paypal优势太明显了,推荐给大家使用. 收款难题 不管你是做网赚联盟项目.做电商外贸生意.还是做个人海淘,都会碰到收款付款的难题.举例来说: Godaddy常有非常便宜的域名注册优惠,但仅限于美国银行账号持有者享受,中国用户无缘享受优惠. Paypal手续费很高,

Payoneer官网注册教程,免费申请美国银行账号,轻松在亚马逊开店,轻松赚取25美元

Payoneer介绍 也许你在网上看到有人说所谓的P卡,其实就是指Payoneer发行的万事达卡.payoneer是万事达卡组织授权的美国虚拟银行机构,提供安全.快捷.简单的支付服务,是中小企业.个人站长及外贸从业人员首选的支付渠道. Payoneer 成立于2005年,总部位于纽约,是一家受风险投资支持的公司, 盈利能力强,位列<Inc.>杂志金融服务公司5000强前100名.在全球设有6处办公点.400名员工. Payoneer为200多个国家提供全天候的跨境支付服务,让百万企业与专业人士

怎么打开YouTube看视频,国内如何上YouTube官网的教程!

YouTube现在是年轻一代的很流行的一个视频网页的(电脑手机都可以看的).但是很多都知道YouTube国内无法正常打开.需要借助一些工具(君越加速器)后才能打开.我们现在直接打开啊YouTube试试看看是显示什么.网络无法连接之内的 .好的现在看小编怎么打开YouTube官网的.首先我们打开百度搜索,找一下小编正在使用的这个工具的官网(君越加速器)打开这个网站注册这个工具的账号,下载这个工具(君越加速器)好了,我们现在用您注册的账号登入这个工具(君越加速器)选择连接一下现在可以正常打开了的 1

一.Mule基础---Mule官网英文资料翻译

Mule基础 Mule是轻量级集成平台,使你能够连接任何东西,任何地点.而不是在系统.服务.API(Application Programming Interface,应用程序编程接口)和设备之间创建多个点对点集成,你可以使用Mule巧妙地管理消息路由.数据映射.业务流程.可靠性.安全和不同节点之间的可伸缩性.插入其他的系统和应用到Mule并让它处理系统之间的通信,使你能跟踪和监控发生的所有事情. Mule如此命名是因为它“背负沉重的发展敷在”,连接不同的系统. 使用Mule,你可以... 集成

AR入门系列-在vuforia官网的使用-01-史上最详细AR入门教程

使用高通的vuforiaSDK 网址:https://developer.vuforia.com/ 我们想要使用vuforia首先得注册一个账号 网站会发送邮件给你的邮箱 点击验证链接,验证邮箱 出现此信息代表验证成功,即可登录 登录成功后即可下载SDK,可以根据你的需要下载,建议下载最新版,这里我使用unity3d作为开发工具 使用vuforia需要授权的许可证,所以这里我们首先创建一个许可证 这里我们选择开发版,vuforia对开发版免费,其他收费可见Pricing 起一个项目的名字 同意协

第一次使用树莓派3代简易教程step by step

其实前天买的三代树莓派就到货了,但是一直没时间鼓捣,其实以前没接触过这东西,心里起初还是方方的,后来觉得还是蛮简单的(毕竟人家都发展了那么多年了嘛),昨晚点亮了屏幕,现在记录一下. 准备工作: 树莓派三代(有wifi这一点简直太爽了) 5V-2A的电源适配器一个 class10的32G tf卡(其实完全没必要这么大) 读卡器一个,便于刷系统 双公头hdmi线(就是那种两边都要插进母口的线) 无线键鼠套装(随便什么无线键鼠都行) 一个支持hdmi输入的显示器 这一套一共大概是三百五,树莓派225,

React 系列教程 1:实现 Animate.css 官网效果

前言 这是 React 系列教程的第一篇,我们将用 React 实现 Animate.css 官网的效果.对于 Animate.css 官网效果是一个非常简单的例子,原代码使用 jQuery 编写,就是添加类与删除类的操作.这对于学习 React 来说是一个非常简易的例子,但是我并不会在教程中介绍相关的前置知识,比如 JSX.ES6 等,对于小白来说可能还会有一些困惑的地方,所以还要了解一下 React 相关的基础知识.虽然 React 有很多值得深究的知识,但这个系列教程并不会涉及高大深的内容