我如何获得的WebView页面的源代码? [英] How I get page source from WebView?

查看:157
本文介绍了我如何获得的WebView页面的源代码?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我如何得到的WebView网页的源代码?

我要在我的WebView只输入www.google.com,当我进入这个网站,我想获得的来源例如:

 字符串A = ........;(源)
 

解决方案

我不知道这是怎么远远将是有益的。但我用下面的代码片段获取一个小的html页面的数据。我希望它可以帮助你。

创建一个类类似下面,

 类MyJavaScriptInterface
  {
      @燮pressWarnings(未使用)
      公共无效processHTML(最后弦乐HTML)
      {
          Log.i(处理HTML,HTML);

            螺纹OauthFetcher =新主题(新的Runnable(){

                @覆盖
                公共无效的run(){

                    字符串oAuthDetails = NULL;
                      oAuthDetails = Html.fromHtml(HTML)的ToString();
                      Log.i(oAuthDetails,oAuthDetails);

                }
            }); OauthFetcher.start();
        }
      }
 

现在在你的onCreate()

  webview.getSettings()setJavaScriptEnabled(真)。
webview.addJavascriptInterface(新MyJavaScriptInterface(),HTMLOUT);

     webview.setWebViewClient(新WebViewClient(){

            @覆盖
            公共无效onPageFinished(web视图来看,最终的字符串URL){


                串oAuthUrl =的getString(www.google.com);

                如果(url.contains(oAuthUrl))
                {
                    Log.i(包含,验证URL);

                    twitter_webview.loadUrl("javascript:window.HTMLOUT.processHTML('<html>'+document.getElementsByTagName('html')[0].innerHTML+'</html>');");
                }
            }
            @覆盖
            公共无效onPageStarted(web视图查看,字符串URL,位图图标){

                progressDialog.show();
            }
      });
 

现在是什么情况,当你的页面加载完成,在JavaScript类将被调用,这将检索页面的源代码,并将其存储在一个字符串为您的要求。

How I get the web page's source from WebView?

I want to only enter www.google.com in my webview and When I entered this site, I want to get the source for example

String a=........;(source) 

解决方案

I am not sure how far this is going to be helpful. But I have used the below snippet to fetch a small html page's data. I hope it helps you.

Create a class like the one below,

  class MyJavaScriptInterface
  {
      @SuppressWarnings("unused")
      public void processHTML(final String html)
      {
          Log.i("processed html",html);

            Thread OauthFetcher=new Thread(new Runnable() { 

                @Override
                public void run() {

                    String oAuthDetails=null;
                      oAuthDetails=Html.fromHtml(html).toString();
                      Log.i("oAuthDetails",oAuthDetails);

                }
            });OauthFetcher.start();
        }
      } 

Now in your onCreate(),

 webview.getSettings().setJavaScriptEnabled(true);
webview.addJavascriptInterface(new MyJavaScriptInterface(), "HTMLOUT");

     webview.setWebViewClient(new WebViewClient(){

            @Override
            public void onPageFinished(WebView view, final String url) {


                String oAuthUrl=getString("www.google.com");

                if(url.contains(oAuthUrl))
                {
                    Log.i("Contains","Auth URL");

                    twitter_webview.loadUrl("javascript:window.HTMLOUT.processHTML('<html>'+document.getElementsByTagName('html')[0].innerHTML+'</html>');");
                }
            }
            @Override
            public void onPageStarted(WebView view, String url, Bitmap favicon) {

                progressDialog.show();
            }
      });

And now what happens is that, when your page finishes loading, the JavaScript class will be called, which would retrieve the page source and store it in a String as your requirement.

这篇关于我如何获得的WebView页面的源代码?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆