大连仟亿科技
客服中心
  • 电话
  • 电话咨询:0411-39943997
  • 手机
  • 手机咨询:15840979770
    手机咨询:13889672791
网络营销 >更多
您现在的位置:仟亿科技 > 新闻中心 > 常见问题

对网页源文件进行自动处理方法

作者:billionnet 发布于:2012/10/27 16:51:18 点击量:

背景:在网站测试中,我们常常会需要对页面元素进行校验。例如超链接、文本等。这些工作都可以通过利用java对源文件的处理,将校验过程用自动化脚本代替。

下面是一个简单的例子,其中包括了通过url得到源文件、通过源文件获取超链接的办法。

同理也可以引申出很多元素的处理。

例子:从已知页面获取所有指定域名的超链接(这里用到了淘宝安全中心的首页举例。后面输出说明首页现在有23个链接到本应用的超链接哦~)

   public void main(String args[]){
2         String url = "http://110.taobao.com/home/index.htm";
3         String hostname = "http://110.taobao.com";
4         try {
5             print(url,hostname);
6         } catch (IOException e) {
7             // TODO Auto-generated catch block
8             e.printStackTrace();
9         }
10     }
11
12     //从指定url中输出所有指定域名开头的超链接
13     void print(String url ,String hostname) throws IOException{
14         long count = pickOut(getSource(url),hostname);
15         System.out.println("在\"" + url + "\"中共有" + count + "个url的域名是:" + hostname);
16
17     }
18
19     //从指定源文件(String格式)中输出指定域名开头的所有超链接地址
20     long pickOut(String source,String hostname){
21         long count = 0;
22         String [] all = source.split("\"");
23         for(int i = 0;i < all.length;i++){
24             String temp = all[i];
25             if (temp.startsWith(hostname)){
26                     System.out.println(temp);
27                     count++;
28             }
29         }
30         return count;
31     }
32
33
34
35     //由指定url,返回String格式的源文件
36     String getSource(String url) throws IOException{
37         String source ="";
38         String line = "";
39         URL _url = new java.net.URL(url);
40         java.io.InputStream stream = _url.openStream();
41         BufferedReader reader = new BufferedReader(new InputStreamReader(stream,"gb2312"));
42         while((line = reader.readLine() ) != null)
43             source += line;
44         return source;
45     }


分享到:


评论加载中...
内容:
评论者: 验证码:
  

Copyright@ 2011-2017 版权所有:大连仟亿科技有限公司 辽ICP备11013762-1号   google网站地图   百度网站地图   网站地图

公司地址:大连市沙河口区中山路692号辰熙星海国际2215 客服电话:0411-39943997 QQ:2088827823 42286563

法律声明:未经许可,任何模仿本站模板、转载本站内容等行为者,本站保留追究其法律责任的权利! 隐私权政策声明