htmlunit.jar是一个强大的无界面Java浏览器,是junit的扩展之一,该浏览器为用户带来了丰富的API,在读取页面后,我们就可以使用htmlunit分析页面上的内容,并调用页面、填写表单、点击链接,就和在“正常”浏览器中所作的一样。HtmlUnit通常用于测试目的或从网站检索信息,但是它不是一个通用的单元测试框架,它是一种模拟浏览器进行测试的方法。一般来说,在小型爬虫项目中,这种框架十分常用,它可以有效的运行页面上的js,以便得到需要执行JS才能得到的值。
功能特点
它具有相当好的JavaScript支持,并且能够使用相当复杂的AJAX库来工作,根据所使用的配置模拟Chrome、Firefox或Internet Explorer。HtmlUnit还可以用来进行页面的测试工作,实现网页自动化测试。支持HTTP和HTTPS协议
支持Cookie
能够指定服务器的失败响应是否应该抛出异常,或者应该返回为适当类型的页面(基于内容类型)
支持提交方法POST和GET(以及HEAD,DELETE,...)
能够自定义要发送到服务器的请求头
支持HTML响应
HTML页面的包装器,可以轻松访问其中包含的所有信息
支持提交表单
支持点击链接
支持步行HTML文档的DOM模型
代理服务器支持
支持基本和NTLM身份验证
优秀的JavaScript支持
更新日志
HtmlUnitv2.25官方版更新日志
添加了DataURl的编号适用。
HtmlAnchor:用shift或ctrl键解决点一下网页页面。
变更DomNode.getByXPath的返回类型。
添加HtmlSlot。
删除已弃用的HtmlElement.getHtmlElementsByTagName(),.getHtmlElementsByTagNames()和CSSStyleSheet.modifyIfNecessary()。
删除已弃用的INTERNET_EXPLORER_11。
删除SvgPage和InteractivePage,应用HtmlPage。
修复getElementsByTagName()并添加.getElementsByTagNameNS()。
在MutationObserver中修复NullPointerException。
完成.getUserData()和.setUserData()。