我是靠谱客的博主 粗心康乃馨,最近开发中收集的这篇文章主要介绍用jdic轻松编写自己的浏览器,抓取iframe网页信息,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

在网上那多人问,如何抓取iframe或其他所有的信息,对象等,其实很简单的,看了以下文章就明白了.

 

 

去这里下载jdic

https://jdic.dev.java.net/

 

我用的是0.94版,eclipse 3.x

 

下截后

将jdic.dll,IeEmbed.exe,jdic.jar,MozEmbed.exe,packager.jar,tray.dll考贝到你的工程lib目录(在工程上建立lib目录),然后设置以上.jar文件到编译路径.

 

建一个jFrame,加一个JPanel

 

以下为代码片断, 用以下代码加载浏览器

              WebBrowser webBrowser = new WebBrowser();

              panel_name.add(webBrowser, BorderLayout.CENTER);

              webBrowser .setURL(new URL(http://www.google.com));

              webBrowser .addWebBrowserListener(new WebBrowserListener() {
         
            public void downloadStarted(WebBrowserEvent event) {;}
            public void downloadCompleted(WebBrowserEvent event) {;}
            public void downloadProgress(WebBrowserEvent event) {;}
            public void downloadError(WebBrowserEvent event) {;}

            public void documentCompleted(WebBrowserEvent event) {

                      //在这里写代码

                     // 很COOL的功能,与脚本交互

                    StringBuffer jsBuff = new StringBuffer();

                    jsBuff.append(" var bodyhtml = document.body.innerHTML;");   //取当前页的内容

                    String html =     webBrowser .getContent();  //取当前页的内容,这个不好用,在有iframe的网页中不灵

                    jsBuff.append(" var hrefObj = document.getElementsByTagName('A');");

                   //....略,取页面的N个内容

                    //好了,好多人都问,如何取得iframe的内容呢?jdic 的包没有一个方法可以取得到的,看以上的脚本 var bodyhtml ,我们怎么取到它的值呢?如果取得到,那一切问题都可以解决.

                    String iframeScript= " var iframehtml = document.frames[0].body.innerHTML;";   //取得指定iframe的内容

                    //在这里,可以与脚本变量的值进行交互,完成我们想要的功能,确实很COOL

                    String iframeHtml = webBrowser .executeScript(iframeScript);

                    System.out.println(iframeHtml );   //出来的正是想要的,很简单吧?但是不知道的话,想破头也不明白

                    //说到这,其实大家已经明白,用jdic可以操纵绝大多数的网站,比如时下流行的web网游,想到什么了?对,写一个脚本外挂就是这么简单.

                    //快装一个浏览器dom结构查看插件,操控在你手中

      

               

            }

          public void titleChange(WebBrowserEvent event) {;} 
            public void statusTextChange(WebBrowserEvent event) {;}
           public void windowClose(WebBrowserEvent arg0) {
           }
           });

                 

 

 

 

最后

以上就是粗心康乃馨为你收集整理的用jdic轻松编写自己的浏览器,抓取iframe网页信息的全部内容,希望文章能够帮你解决用jdic轻松编写自己的浏览器,抓取iframe网页信息所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(54)

评论列表共有 0 条评论

立即
投稿
返回
顶部