- 浏览: 1334650 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
kay11:
...
JAVA生成简单的随机字符串(a-zA-Z0-9) -
zhangliguoaccp:
您好关于登录页面的验验证码这块怎么解决的?还有登录成功后,跳转 ...
JAVA,模拟HTTP登录 -
107x:
不错,谢谢!
<c:foreach 循环 map -
wenjin:
不知楼主是不还在想请叫一下我自己开的Tomcat下载一个文件C ...
Android 下载文件及写入SD卡 -
zyywgf:
JSTL c标签,fn标签,fmt标签
package com.htmlunit.test; import java.io.IOException; import java.net.MalformedURLException; import java.util.ArrayList; import java.util.List; import com.gargoylesoftware.htmlunit.BrowserVersion; import com.gargoylesoftware.htmlunit.FailingHttpStatusCodeException; import com.gargoylesoftware.htmlunit.WebClient; import com.gargoylesoftware.htmlunit.html.HtmlElement; import com.gargoylesoftware.htmlunit.html.HtmlForm; import com.gargoylesoftware.htmlunit.html.HtmlImageInput; import com.gargoylesoftware.htmlunit.html.HtmlPage; import com.gargoylesoftware.htmlunit.html.HtmlPasswordInput; import com.gargoylesoftware.htmlunit.html.HtmlTable; import com.gargoylesoftware.htmlunit.html.HtmlTableCell; import com.gargoylesoftware.htmlunit.html.HtmlTableRow; import com.gargoylesoftware.htmlunit.html.HtmlTextInput; public class ProccessInfoTest_0 { public static void main(String[] args) throws FailingHttpStatusCodeException, MalformedURLException, IOException { WebClient webClient = new WebClient(BrowserVersion.FIREFOX_3); webClient.setThrowExceptionOnFailingStatusCode(false); webClient.setThrowExceptionOnScriptError(false); webClient.setJavaScriptEnabled(false); HtmlPage page = webClient.getPage("http://......./index.jsp"); HtmlForm form = page.getFormByName("myform"); HtmlImageInput button = form.getInputByName("loginit"); HtmlTextInput name = form.getInputByName("userName"); HtmlPasswordInput password = form.getInputByName("password"); // Change the value of the text field name.setValueAttribute("....."); password.setValueAttribute("......"); // Now submit the form by clicking the button and get back the second page. page = (HtmlPage) button.click(); webClient.setJavaScriptEnabled(true); String url2 = ""; url2 = "http://....../processInfo.htm"; HtmlPage framepage = webClient.getPage(url2); // System.out.println(framepage.asXml()); // System.err.println("**********************************************************"); // webClient.setJavaScriptEnabled(true); HtmlPage treepage = (HtmlPage)framepage.getFrameByName("treeframe").getEnclosedPage(); // System.out.println(treepage.asXml()); // webClient.setJavaScriptEnabled(true); HtmlElement body = treepage.getBody(); HtmlTable table = (HtmlTable)body.getElementById("mytable"); List<HtmlElement> list = table.getElementsByTagName("tr"); List newlist = new ArrayList(); for (int i = 0; i < list.size(); i++) { HtmlElement element = list.get(i); String patch = "/html/body/table/tbody/tr/td/table/tbody/form/tr["+i+"]"; List<?> foundElements = treepage.getByXPath(patch); if(foundElements.size()!=0){ HtmlElement temp = (HtmlElement)foundElements.get(0); String tempstr = temp.asText().trim().replace("\n", "").replace("\r", ""); if(tempstr!=null && !"".equals(tempstr)) newlist.add(tempstr.replace("\t", "#")); System.out.println(i+"."+tempstr); } } System.err.println("*************************************"); // System.err.println("=============================================================="); List<?> items = treepage.getByXPath("/html/body/table/tbody/tr/td/table/tbody/form/tr"); if(items.size()>0){ // webClient.setJavaScriptEnabled(true); // List<HtmlElement> item = (List<HtmlElement>)items.get(1); HtmlTableRow tr = (HtmlTableRow) items.get(1); HtmlTableCell td = tr.getCell(3); System.out.println(td.asXml()); // webClient.setJavaScriptEnabled(true); // item.click(); td.click(); } // System.err.println("=============================messageframe================================="); HtmlPage messageframe = (HtmlPage)framepage.getFrameByName("messageframe").getEnclosedPage(); // System.out.println(messageframe.asXml()); // System.out.println(messageframe.asText()); webClient.setJavaScriptEnabled(false); System.err.println("=============================contentArea================================="); HtmlPage contentArea = (HtmlPage)messageframe.getFrameByName("contentArea").getEnclosedPage(); HtmlPage content = (HtmlPage)contentArea.getFrameByName("content").getEnclosedPage(); System.out.println(content.asXml()); } }
执行脚本的示例:
webClient.setJavaScriptEnabled(true);
page.executeJavaScript("document.myform.submit()");
发表评论
-
Spring 和JFreeChart 用出现Unable to validate using XSD
2012-08-09 17:31 1782错误显示: 信息: XML validation disab ... -
web.xml不认<taglib>解决办法:
2012-07-11 15:24 968在web.xml不认<taglib>解决办法: ... -
Portal服务器,Portlet容器,Portlet 的区别
2011-08-24 17:06 1654这里所说的Portal是指JCP-JSR168规范所描述的 ... -
AMF,RTMP,RTMPT,RTMPS(转)
2011-04-28 13:10 19301. AMF AMF(是Action Message F ... -
web.xml 中的listener,filter,servlet 加载顺序
2011-04-22 13:35 1105首先,加载顺序与它们 ... -
JDOM修改XML中指定节点的内容
2011-03-21 09:45 2192UpdateXML 写道 package com.util; ... -
SSH配置多个数据源
2011-01-18 16:35 9895SSH配置多个数据源 1. 编写hibernate的数据库配 ... -
SSH中调用存储过程
2010-12-29 08:46 5578SSH中调用带返回结果集的存储过程: public clas ... -
HibernateDaoSupport与JdbcDaoSupport总结
2010-12-28 13:56 1358Spring框架中Dao支持总结:Dao 的支持类可以有 ... -
DBCP,CP30及proxool连接池在spring+hibernate中的配置
2010-12-22 17:08 5931用spring默认的连接池性能效率不高, 如果数据库重启, 应 ... -
IP过滤DEMO
2010-11-01 15:59 1269import java.io.IOException; im ... -
FCKEditor Demo
2010-11-01 15:56 2001FCKEditor 的官方下载: http://source ... -
模式在SSH中的简单举例
2010-05-17 14:37 1105闲着没事,瞎想,回想了几个简单的模式在SSH的应用。有不对的还 ... -
AspectJ入门 安装及简单使用
2010-05-15 19:20 7107一、下载安装 1. download http: ... -
org.apache.commons.lang.RandomStringUtils
2010-05-05 09:01 2023来自包:apache的commons-lang.jar包下载: ... -
spring字符集过滤器配置
2010-05-04 14:53 2637<!-- spring的字符集过滤器 --> ... -
Cannot instantiate abstract class or interface
2010-05-03 22:49 3968org.hibernate.InstantiationExce ... -
org.hibernate.hql.ast.QuerySyntaxException: ? is not mapped
2010-05-03 21:52 41442010-5-3 21:48:23 org.apache.ca ... -
java.lang.NoSuchMethodError: org.objectweb.asm.ClassVisitor.visit
2010-05-03 21:32 4203MyEclipse 开发 SSH 整合时 java.la ... -
JTA事务(转)
2010-04-30 16:33 9517JTA:Java Transaction API ...
相关推荐
htmlunit测试框架,是基于java junit测试框架
通过学习和理解这个Demo,开发者可以掌握如何在实际项目中运用HtmlUnit来构建高效的网络爬虫,处理各种复杂的网页结构和动态内容。不过,需要注意的是,进行网络爬虫时应遵守相关法律法规,尊重网站的robots.txt规则...
7. **集成测试框架**:HTMLUnit可以与JUnit、TestNG等测试框架无缝集成,方便编写单元测试和集成测试。通过这些框架,可以组织和运行一系列的测试用例,确保应用程序在不同场景下的正确性。 8. **性能优势**:由于...
自定义htmlunit,取消htmlunit自带的log打印功能,最近研究htmlunit发现它自带的log信息比较讨厌有些错误自己已经拦截,他还会打印以便而且带着大量html代码,强迫症的人看到错误就想去点点 其实只是加载js出错。...
HTMLUnit是一个强大的Java库,它模拟了一个无头Web浏览器,主要用于自动化测试和网页抓取。在版本2.23的zip文件中,我们主要关注HTMLUnit的核心功能和它如何帮助开发者处理HTML内容。 HTMLUnit的核心是基于Jakarta ...
HTMLUnit是一个强大的自动化测试工具,尤其适用于Web应用程序的测试。...这个"htmlunit-2.29.zip"文件...开发者可以通过解压这个文件,参考API文档,快速地将HTMLUnit集成到自己的测试框架中,提升测试的效率和准确性。
在实际应用中,HTMLUnit可以与JUnit或其他测试框架结合,编写测试脚本来自动化测试Web应用。例如,你可以创建一个HTMLUnit测试用例,打开网页,模拟用户登录,然后检查特定元素是否显示正确。此外,由于HTMLUnit支持...
7. **测试支持库**:如果用于测试,可能会包含JUnit或其他测试框架的jar,以便编写和执行测试用例。 为了能够使用这些jar包,开发者需要将它们添加到Java项目的类路径(classpath)中。在IDE如Eclipse或IntelliJ ...
8. **测试框架集成**:HTMLUnit常与JUnit等测试框架结合使用,编写自动化测试用例,验证网页应用的功能和行为。 9. **性能**:由于其无头特性,HTMLUnit比使用真实浏览器进行测试和抓取更快速、轻量级,尤其适用于...
HTMLUnit基于Java语言,因此它可以轻松集成到Java开发环境中,利用JUnit等测试框架进行测试。 压缩包“htmlunit-2.3”中包含的主要文件可能是以下几个部分: 1. HTMLUnit的核心库(htmlunit.jar):这是HTMLUnit的...
HTMLUnit是一个功能强大的Java库,它模拟了一个无头Web浏览器,允许开发者进行自动化网页测试和网络爬虫工作。这个库的核心在于它能够解析HTML、执行JavaScript,并与网页上的元素进行交互,而无需真实地打开一个...
HtmlUnit可以方便地与JUnit、TestNG等测试框架集成,创建自动化测试套件。 6. **源码示例** 提供的开发文档中应该包含多个示例源码,这些示例涵盖了各种使用场景,可以帮助你更好地理解和使用HtmlUnit。 7. **...
9. **集成测试**: HTMLUnit可以与其他测试框架(如JUnit、TestNG)结合使用,构建全面的Web应用自动化测试。通过编写测试用例,可以检查应用程序的功能和行为。 10. **版本更新**: HTMLUnit 2.9是较旧的版本,可能...
HTMLUnit是一个Java库,它提供了一个无头浏览器模拟器,用于自动化Web页面的测试和交互。这个"htmlunit基本jar包"包含了运行HTMLUnit所需的所有核心组件,无需通过Maven来管理和依赖。这意味着用户可以直接在项目中...
7. **与其他工具的集成**:HTMLUnit可以与JUnit、TestNG等测试框架集成,便于构建自动化的测试套件。此外,也可以与Selenium WebDriver结合,增强其功能,特别是在处理现代Web应用时。 8. **性能优势**:由于...
10. **爬虫框架的应用**:除了HTMLUnit,项目可能还结合了其他Java爬虫框架,如Jsoup或Apache HttpClient,以增强爬虫的功能和易用性。 通过学习和实践这个“htmlunit爬虫”项目,你将能够深入理解HTMLUnit的工作...
HtmlUnit 是 JUnit 的扩展测试框架之一。HtmlUnit 将返回文档模拟成 HTML,这样您便可以直接处理这些文档了。HtmlUnit 使用例如 table、form 等标识符将测试文档作为 HTML 来处理。它同样需要遵循 JUnit 测试框架...
创建一个简单的HTMLUnit测试用例可能如下所示: ```java import org.openqa.selenium.htmlunit.HtmlUnitDriver; public class HtmlUnitTest { public static void main(String[] args) { HtmlUnitDriver ...
HTMLUnit是一个Java库,它模拟了一个无头Web浏览器,用于自动化网页测试和抓取。它提供了JavaScript支持,能够处理AJAX请求,使开发者能够在没有实际图形界面的情况下与网页交互。这个"htmlunit-2.1.5源码"包包含了...
2. **commons-collections-3.2.1.jar**:Apache Commons Collections是Java集合框架的扩展,提供了许多额外的数据结构和算法,增强了集合操作的效率和便利性,对于HTMLUnit处理数据结构有很大帮助。 3. **cssparser...