htmlunit.jar是一個強大的無界面Java瀏覽器,是junit的擴展之一,該瀏覽器為用戶帶來了豐富的API,在讀取頁面后,我們就可以使用htmlunit分析頁面上的內容,并調用頁面、填寫表單、點擊鏈接,就和在“正常”瀏覽器中所作的一樣。HtmlUnit通常用于測試目的或從網站檢索信息,但是它不是一個通用的單元測試框架,它是一種模擬瀏覽器進行測試的方法。一般來說,在小型爬蟲項目中,這種框架十分常用,它可以有效的運行頁面上的js,以便得到需要執(zhí)行JS才能得到的值。
功能特點
它具有相當好的JavaScript支持,并且能夠使用相當復雜的AJAX庫來工作,根據所使用的配置模擬Chrome、Firefox或Internet Explorer。HtmlUnit還可以用來進行頁面的測試工作,實現(xiàn)網頁自動化測試。支持HTTP和HTTPS協(xié)議
支持Cookie
能夠指定服務器的失敗響應是否應該拋出異常,或者應該返回為適當類型的頁面(基于內容類型)
支持提交方法POST和GET(以及HEAD,DELETE,...)
能夠自定義要發(fā)送到服務器的請求頭
支持HTML響應
HTML頁面的包裝器,可以輕松訪問其中包含的所有信息
支持提交表單
支持點擊鏈接
支持步行HTML文檔的DOM模型
代理服務器支持
支持基本和NTLM身份驗證
優(yōu)秀的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()。