最近在想如何从网页中抓取需要的数据出来, 直接用java提供的API太麻烦了, 在一些成熟的自动化测试web程序的类库中有可能需要的功能, 如HttpUnit, Watij, Selenium ; 现在试用了一下HttpUnit, 不是很方便, 只能找到有id的table元素, 没有id的还要自己处理response的流
public static void main(String[] args) {
WebClient webClient = new WebClient();
HtmlPage page = null;
try {
page = (HtmlPage) webClient.getPage("http://biz.cn.yahoo.com/stock.html");
} catch (FailingHttpStatusCodeException e) {
//e.printStackTrace();
} catch (MalformedURLException e) {
//e.printStackTrace();
} catch (IOException e) {
//e.printStackTrace();
}
WebResponse wr = page.getWebResponse();
HtmlDivision he = page.getHtmlElementById("stat1");
if (he.hasChildNodes()){
Iterator i = he.getChildElements().iterator();
while(i.hasNext()){
System.out.println(i.next());
}
}
System.out.println(he.getAttribute("id"));
//System.out.println(he.asXml());
Iterator<HtmlElement> i = page.getAllHtmlChildElements().iterator();
if(i.hasNext()){
HtmlElement h = i.next();
System.out.println(h.getNodeName());
}
分享到:
相关推荐
3. **使用示例**:以下是一些基本的使用HttpUnit进行测试的例子。 #### 三、使用HttpUnit进行Web页面测试 ##### 1. 获取指定网页内容 ```java System.out.println("直接获取网页内容:"); // 创建一个...
3. **Ajax**:Ajax是一种使用JavaScript与服务器进行通信的技术,通常用于更新部分网页内容,而无需重新加载整个页面。在`HttpUtilTest`中,可能有针对Ajax请求的模拟测试,以确保异步请求能够正确地发送和接收数据...
下面是一个简单的HTTPUnit使用示例,展示了如何发送GET请求并获取响应内容: ```java import org.apache.httpunit.WebClient; import org.apache.httpunit.html.HtmlPage; public class HTTPUnitTest { public ...
3. **JavaScript 支持**:HttpUnit支持JavaScript执行,允许测试动态生成的网页内容。 4. **异常处理**:在遇到错误或异常时,HttpUnit会抛出相应的异常,帮助开发者定位问题。 5. **表单和链接处理**:可以模拟用户...
以下是一个简单的使用HTTPUnit进行Web应用测试的Java代码示例: ```java import org.apache.http.HttpResponse; import org.apache.http.client.methods.HttpGet; import org.apache....
本篇文章将深入探讨两种用于Web应用测试的工具:HttpUnit与JWebUnit,并通过一个具体的示例来展示如何使用这两种工具进行自动化测试。 #### HttpUnit与JWebUnit简介 - **HttpUnit** 是一个Java类库,它提供了模拟...
5. **处理响应**:获取并检查服务器的响应,如状态码、内容、HTML 结构等,使用 `WebResponse` 和 `WebDocument` 对象。 6. **断言**:最后,使用 `assert` 方法来验证预期结果。例如,`assertEquals` 可以用来比较...
在给定的部分内容中,可以看到一种尝试,即通过`ActionContext`和`ServletActionContext`间接获取`HttpServletRequest`,进而尝试获取`PageContext`。但是,这种方法并不是最直接或最标准的途径。更常见且推荐的做法...
例如,使用`<http:get>`标签可以构造一个HTTP GET请求,获取指定URL的页面内容;`<http:post>`则用于模拟POST请求,通常用于提交表单数据。同时,`<http:cookie>`标签可以用来管理Cookie,这在测试需要保持会话状态...
10. **HTTPUnit**: `httpunitdemo`是一种网页抓取技术,可以执行JavaScript,模拟用户行为,适用于自动化测试和数据抓取。 11. **Base64图像处理**: `imgdemo`演示了Base64编码和解码在图片与文件之间的转换,常...
总之,Graphical Web Page Test Suite是一个开源的网站测试工具,依赖于httpunit库,提供了丰富的功能来模拟用户与网页的交互,并检查网页内容。通过开源社区的支持,用户可以获取持续的更新和改进,同时也能根据...
- **定义**:选择合适的工具辅助需求获取、分析和管理。 - **工具种类**:需求追踪工具、原型设计工具、需求管理软件。 - **选择标准**:灵活性、易用性、集成能力、成本效益。 - **最佳实践**:结合项目特点灵活...