htmlunit.jar是一個(gè)強(qiáng)大的無(wú)界面Java瀏覽器,是junit的擴(kuò)展之一,該瀏覽器為用戶帶來(lái)了豐富的API,在讀取頁(yè)面后,我們就可以使用htmlunit分析頁(yè)面上的內(nèi)容,并調(diào)用頁(yè)面、填寫(xiě)表單、點(diǎn)擊鏈接,就和在“正常”瀏覽器中所作的一樣。HtmlUnit通常用于測(cè)試目的或從網(wǎng)站檢索信息,但是它不是一個(gè)通用的單元測(cè)試框架,它是一種模擬瀏覽器進(jìn)行測(cè)試的方法。一般來(lái)說(shuō),在小型爬蟲(chóng)項(xiàng)目中,這種框架十分常用,它可以有效的運(yùn)行頁(yè)面上的js,以便得到需要執(zhí)行JS才能得到的值。
功能特點(diǎn)
它具有相當(dāng)好的JavaScript支持,并且能夠使用相當(dāng)復(fù)雜的AJAX庫(kù)來(lái)工作,根據(jù)所使用的配置模擬Chrome、Firefox或Internet Explorer。HtmlUnit還可以用來(lái)進(jìn)行頁(yè)面的測(cè)試工作,實(shí)現(xiàn)網(wǎng)頁(yè)自動(dòng)化測(cè)試。支持HTTP和HTTPS協(xié)議
支持Cookie
能夠指定服務(wù)器的失敗響應(yīng)是否應(yīng)該拋出異常,或者應(yīng)該返回為適當(dāng)類型的頁(yè)面(基于內(nèi)容類型)
支持提交方法POST和GET(以及HEAD,DELETE,...)
能夠自定義要發(fā)送到服務(wù)器的請(qǐng)求頭
支持HTML響應(yīng)
HTML頁(yè)面的包裝器,可以輕松訪問(wèn)其中包含的所有信息
支持提交表單
支持點(diǎn)擊鏈接
支持步行HTML文檔的DOM模型
代理服務(wù)器支持
支持基本和NTLM身份驗(yàn)證
優(yōu)秀的JavaScript支持
更新日志
HtmlUnitv2.25官方版更新日志
添加了DataURl的編號(hào)適用。
HtmlAnchor:用shift或ctrl鍵解決點(diǎn)一下網(wǎng)頁(yè)頁(yè)面。
變更DomNode.getByXPath的返回類型。
添加HtmlSlot。
刪除已棄用的HtmlElement.getHtmlElementsByTagName(),.getHtmlElementsByTagNames()和CSSStyleSheet.modifyIfNecessary()。
刪除已棄用的INTERNET_EXPLORER_11。
刪除SvgPage和InteractivePage,應(yīng)用HtmlPage。
修復(fù)getElementsByTagName()并添加.getElementsByTagNameNS()。
在MutationObserver中修復(fù)NullPointerException。
完成.getUserData()和.setUserData()。