HtmlUnit is a “GUI-Less browser for Java programs”. It models HTML documents and provides an API that allows you to invoke pages, fill out forms, click links, etc… just like you do in your “normal” browser.
翻译:
HTMLUnit 是一个无界面的Java浏览器,可以渲染生成HTML文档,同时提供操作网页的接口,例如填充表单,点击链接,就如同你在浏览器中的操作。
之前做数据采集研究的时候发现Java httpClient 很多页面中数据采集不到,然后发现需要执行JavaScript 脚本。
一般遇到JS 就开始两条思路了
- 硬核分析js
硬核分析解决思路就是在浏览器中调试js,分析代码,最终把采集目标相关的js执行过程在程序中模拟出来,获取到最终数据。
- 直接渲染
直接渲染就是把页面中的JS 脚本放入本地的JS引擎,直接生成一个成品HTML,之后直接解析HTML
htmlunit 的思路属于JS 渲染。
分析下关键字,
Java : 适用于用Java写爬虫的同同学
操作页面: 不仅仅可以采集到渲染后的网页,还可以操作页面。
所以这个主要是为了网页自动化测试,使用Java编写自动化测试脚本。
表单提交、网页交互都支持。
https://htmlunit.sourceforge.io/gettingStarted.html