转自:http://www.blogjava.net/wangxinsh55/archive/2012/01/12/368405.html
发现一个很不错的模拟浏览器包htmlunit,它可以直接执行访问网站地址,并执行相应的JavaScript脚本;这个功能对于网站爬虫有很大的帮助,一些网站使用了ajax,如果使用简单的http访问只能抓到原始的html源码,但对于页面内执行的ajax却无法获取;使用这个包后,可以将执行ajax后的html源码一并抓取下来。
网站地址:http://htmlunit.sourceforge.net/
网站地址:http://htmlunit.sourceforge.net/
该站点下边还提到了几个相类似的包:HtmlUnit is used as the underlying "browser" by different Open Source tools like Canoo WebTest, JWebUnit, WebDriver, JSFUnit, Celerity, ...
canoo WebTest 看了一下,没太明白是怎么用的,没想太深入了解
jwebunit 是用来做网站测试用的,它整合了JUnit,htmlunit,selenium 包框架;其主要功能是用做白盒测试和压力测试。
webDriver 后来改名为selenium,它整合了htmlunit,火狐浏览器,IE浏览器,opare浏览器驱动。如果使用htmlunitDriver,则是使用htmlunit包来访问站点;如果使用FirefoxDriver则会直接将Firefox浏览器调出来,然后在浏览器上模拟输入文字和其他鼠标键盘事件。
htmlunit包访问网站后,获取到html源码后可以对源码进行修改;而jwebunit,selenium则暂时没有发现修改的功能,只是用来做模拟用户操作的功能。
相关推荐
开发者可以将这些.jar文件添加到他们的项目类路径中,以便于解析和操作HTML文档,模拟浏览器行为,以及实现自动化测试。不同版本的HtmlUnit可能适用于不同的项目需求,例如对老版本网站的兼容性或新特性支持。而...
Rhino引擎使得HTMLUnit能够理解和运行JavaScript,这对于模拟浏览器行为至关重要。 5. **其他辅助库**: 还有一些其他辅助库,比如`commons-codec-1.x.jar`(提供各种编码算法)、`commons-lang3-3.x.jar`(提供...
4. **网络请求**:HTMLUnit可以模拟浏览器发送HTTP请求,并处理响应,包括POST、GET以及其他HTTP方法。 5. **自动登录和表单提交**:它可以自动填写表单并提交,这对于模拟用户行为和测试登录过程非常有用。 6. **...
HTMLUnit是一个基于Java的无头浏览器模拟器,它主要用于自动化Web测试和网页抓取任务。在标题中提到的"htmlunit-2.41.0-bin"是HTMLUnit的一个特定版本,即2.41.0,而"官方包"意味着这是由HTMLUnit项目团队直接提供的...
HTMLUnit是一个基于Java的无头浏览器,主要用于自动化测试和网页抓取。它模拟了一个完整的浏览器,但不包含图形用户界面,这使得它在处理HTML、JavaScript以及Ajax内容时非常高效,而无需在本地机器上实际打开一个...
此外,由于HTMLUnit并不完全模拟浏览器环境,可能会遇到一些在真实浏览器上不会出现的问题,例如CSS渲染的差异或特定JavaScript库的兼容性问题。因此,理解并适当地配置和使用HTMLUnit是非常重要的。
HTMLUnit是一个Java库,它为Web测试和自动化提供了一个无头浏览器模拟器。这个库的主要目的是在没有实际图形用户界面(GUI)的情况下运行JavaScript支持的HTML页面,这使得它非常适合进行自动化测试,尤其是在服务器...
HTMLUnit是一个Java库,它提供了一个无头浏览器的模拟,允许开发者在没有真实浏览器环境的情况下进行Web客户端测试和自动化。这个“htmlunit-2.25”压缩包包含的就是HTMLUnit库的版本2.25,是进行无头网页交互的关键...
HtmlUnit是一个强大的Java库,主要用于模拟浏览器行为,执行无头Web客户端测试。它是一个headless浏览器,意味着它可以在没有图形用户界面的情况下运行,这在自动化测试、数据抓取和性能评估等场景中非常有用。这个...
1. HTMLUnit的核心库(htmlunit.jar):这是主要的库文件,包含了所有处理HTTP请求、解析HTML、执行JavaScript和模拟浏览器行为的类。 2. 可能的依赖库:HTMLUnit可能依赖于其他库,如Rhino(JavaScript引擎)或者...
在Java编程中,HttpClient库是Apache提供的一款强大的HTTP客户端工具,用于执行HTTP请求,包括GET、POST、PUT等多种HTTP方法。...对于更复杂的情况,可能需要使用HTMLUnit或Selenium等工具进行浏览器级别的模拟登录。
6. **可扩展性**:HTMLUnit可以与其他Java库(如Selenium)结合使用,提供更高级别的功能,如屏幕截图和浏览器兼容性测试。 在使用HTMLUnit时,开发者通常会创建一个测试类,实例化一个`HtmlPage`对象,然后通过这...
HTMLUnit是一个Java库,它模拟了一个无头Web浏览器,用于自动化网页测试和...此外,这个源码包也适合那些希望学习Java编程和理解浏览器工作原理的初学者,因为HTMLUnit提供了一个简化版的浏览器实现,便于学习和研究。
6. **使用场景**:HTMLUnit常用于单元测试,集成测试,网页自动化,比如爬虫,或者任何需要模拟浏览器行为但又不希望启动实际浏览器的场合。它可以大大减少测试时间和资源消耗。 7. **与其他工具的集成**:HTMLUnit...
2. Selenium Server:在某些情况下,如需要远程控制浏览器或使用HtmlUnit等无头浏览器时,需要启动Selenium Server。 3. WebDriver支持的浏览器驱动程序:针对不同浏览器,需要相应的驱动程序(如ChromeDriver、...
HTMLUnit是一个Java库,专为自动化网页测试和模拟浏览器行为而设计。它作为一个无头(headless)浏览器,能够执行JavaScript,处理AJAX,以及与网页进行交互,而无需实际打开一个图形用户界面。这个“htmlunit-2.8...
1. HTMLUnit的核心库(htmlunit.jar):这是HTMLUnit的主要实现,包含解析HTML、执行JavaScript和模拟浏览器行为的类和方法。 2. 非必需的依赖项(如nekohtml.jar, xercesImpl.jar, xml-apis.jar):这些库提供了...
2. **模拟浏览器行为**:通过HTMLUnit,你可以模拟用户在网页上的各种操作,如点击链接、填写表单、提交数据等。这对于自动化测试和数据抓取场景十分关键,因为它允许程序模拟真实用户的行为。 3. **快速且轻量级**...