美文网首页Android开发Android知识Android开发
Android使用WebView读取HTML中的文本内容

Android使用WebView读取HTML中的文本内容

作者: NamelessCoder | 来源:发表于2017-05-23 21:58 被阅读0次
     mSetting = mWebView.getSettings();
         mSetting.setJavaScriptEnabled(true);
        mWebView.addJavascriptInterface(new InJavaScriptLocalObj(), "java_obj"); 
    
            mWebView.setWebViewClient(new WebViewClient() {
                @Override
                public void onPageFinished(WebView view, String url) {
                    Toast.makeText(NewsDetailActivity.this, "onPageFinished", Toast.LENGTH_SHORT).show();
        view.loadUrl("javascript:window.java_obj.getSource(document.documentElement.outerHTML);void(0)");
                    super.onPageFinished(view, url);
                }
    
    
            });
            mWebView.loadUrl(url);
    //自己定义的类
     public final class InJavaScriptLocalObj {
    //一定也要加上这个注解,否则没有用
            @JavascriptInterface
            public void getSource(String html) {
                //取出HTML中P标签的文本内容,利用正则表达式匹配.
                Pattern pattern=Pattern.compile("<p.*?>(.*?)</p>");
                Matcher matcher = pattern.matcher(html);
                StringBuffer sb=new StringBuffer();
                while (matcher.find())
                {
                    sb.append(matcher.group(1));
                }
                mHtmlText = sb.toString();
                Log.e(TAG, sb.toString());
                Toast.makeText(NewsDetailActivity.this,sb.toString(), Toast.LENGTH_SHORT).show();
            }
        }
    
    • 可能需要等一段时间才会执行到getSource方法然后获得HTML内容,我这里等待了2~3分钟左右.

    相关文章

      网友评论

        本文标题:Android使用WebView读取HTML中的文本内容

        本文链接:https://www.haomeiwen.com/subject/rzggxxtx.html