4.4 处理页面的表格(table)
表格是用来控制页面显示的对象,在HttpUnit中使用数组来处理页面中的多个表格,可以用 resp.getTables() 方法获取页面所有的表格对象。将它们依次出现在页面中的顺序保存在一个数组里。
// 创建一个WebConversation对象
WebConversation wc = new WebConversation();
// 设置HTTP代理服务器地址和端口
wc.setProxyServer( "proxy.pvgl.sap.corp", 8080 );
// 新建一个URL请求对象req
WebRequest req = new GetMethodWebRequest("http://httpunit.sourceforge.net/doc/cookbook.html");
// 发出一个请求req,并取得它相对应的响应resp
WebResponse resp = wc.getResponse(req);
// 获得响应的页面中的 Table
WebTable[] tables = resp.getTables();
// 取出第一个 table
WebTable table = tables[0];
// 从 2 * 2 的 table 取出cell里的值
for ( int i=0 ; i<3 ; i++ ) {
for ( int j=0 ; j<2 ; j++ )
System.out.println(table.getCellAsText(i,j).trim());
}
4.5 处理页面的表单(form)
表单是用来接受用户输入,也可以向用户显示用户已输入信息(如需要用户修改数据时,通常会显示他以前输入过的信息),在HttpUnit中使用数组来处理页面中的多个表单,你可以用resp.getForms()方法获取页面所有的表单对象。他们依照出现在页面中的顺序保存在一个数组里面。
// 建立一个WebConversation实例
WebConversation wc = new WebConversation();
// 获取响应对象
WebResponse resp = wc.getResponse( "http://www.sqalab.com/article/html/article_59.html" );
// 获得对应的表单对象
WebForm webForm = resp.getForms()[0];
// 获得表单中所有控件的名字
String[] pNames = webForm.getParameterNames();
int i = 0;
int m = pNames.length;
// 循环显示表单中所有控件的内容
while(i<m){
System.out.println("第"+(i+1)+"个控件的名字是"+pNames[i]+
",里面的内容是"+webForm.getParameterValue(pNames[i]));
++i;
}