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