HtmlUnit

HtmlUnit是什么?看下介绍:

A java GUI-Less browser, which allows high-level manipulation of web pages, such as filling forms and clicking links; just getPage(url), find a hyperlink, click() and you have all the HTML, JavaScript, and Ajax are automatically processed.

HtmlUnit是一个没有界面的浏览器,但是通过它提供的API,你可以操作页面元素等等。来看下怎么使用。

首先你要有HtmlUnit的jar包,添加到项目中。

然后新建一个Test类,创建HtmlUnit对象,传入网址,接着你就可以使用API工具对页面元素为所欲为了。。

1.输入当前网址页面所有元素:

是不是很强大,短短的几行代码就可以获取页面所有元素,把浏览器玩弄于股掌之间,当然不仅仅是这些功能。

之前的结果中出现了css的error,这是因为可能浏览器引擎之间支持的不是很好,可以事先关闭掉CSS和JS的解析器。只要不影响我们自己的执行语句。

错误没有了,当如果需要执行js语句的时候,可以将上述语句注释掉即可。

在上面我们获得了页面元素,接下来可以对元素进行操作。看!

可以简单地通过id来获取相应的元素名称:

final DomNode div= page.getElementById("su");
System.out.println(div.asText()); 

输出结果:百度一下

还可以获取弹出窗的对象操作句柄。

    public void setAlertHandler(final AlertHandler alertHandler) {
        alertHandler_ = alertHandler;
    }

粗略的看了一下HtmlUnit的API,还提供了获取dialog弹出对话框的方法。

public DialogWindow openDialogWindow(final URL url, final WebWindow opener, final Object dialogArguments)
throws IOException {

final DialogWindow window = new DialogWindow(this, dialogArguments);
fireWindowOpened(new WebWindowEvent(window, WebWindowEvent.OPEN, null, null));
}

HtmlUnit与Selenium那个更牛呢?selenium底层是模拟浏览器操作,而HtmlUnit是直接调用自己的浏览器引擎。似乎HtmlUnit更胜一筹。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值