如何获取WebView中显示的HTML页面的全部内容文本 [英] How to get the whole content text of html page displayed in webview

查看:76
本文介绍了如何获取WebView中显示的HTML页面的全部内容文本的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我发现要从 webview 读取内容的问题.我尝试过无法修复.

I have found question to read content from webview.I have tried i can't able to fix.

我已经在 webview 中显示了一个html页面.我需要 string

I have displayed a html page in webview. I need the content of that html page in a string

Java代码

WebView mainContent = (WebView)layout.findViewById(R.id.webView1);
         mainContent.getSettings().setJavaScriptEnabled(true);
         WebSettings webSettings = mainContent.getSettings();
         webSettings.setJavaScriptEnabled(true);
         webSettings.setBuiltInZoomControls(true);
         mainContent.requestFocusFromTouch();
          mainContent.setWebViewClient(new WebViewClient() {
                @Override
                public void onPageFinished(WebView view, String url) {
                    super.onPageFinished(view, url);
                    mainContent.loadUrl("javascript:window.HTMLOUT.processHTML('<html>'+document.getElementsByTagName('html')[0].innerHTML+'</html>');");
                }
            });
         mainContent.setWebChromeClient(new WebChromeClient());
         mainContent.loadUrl("file:///android_asset/"+filename.get(position));
         webSettings.setDefaultFontSize(40);

在我的活动"中

public void processHTML(String html) {

                System.out.println("======++++"+Html.fromHtml(html));
            }

我没有看到任何日志.我如何在 String 中获取 HTML 页面的内容(文本).我在做什么错?预先感谢

I didn't see my anything log. How can i get the content(text) of HTML page in a String. What im doing mistake? Thanks in advance

推荐答案

我通过这种方式获得了内容

I got the content by this way

mainContent.getSettings().setJavaScriptEnabled(true);
            WebSettings webSettings = mainContent.getSettings();
            webSettings.setJavaScriptEnabled(true);
            webSettings.setBuiltInZoomControls(true);
            mainContent.requestFocusFromTouch();
            mainContent.setWebChromeClient(new WebChromeClient());
            mainContent.loadUrl("file:///android_asset/"+filename.get(position));
            mainContent.setWebViewClient(new WebViewClient() {
                @Override
                public void onPageFinished(WebView view, String url) {
                    super.onPageFinished(view, url);
                    mainContent.setWebViewClient(null);    
           mainContent.loadUrl("javascript:window.HTMLOUT.processHTML('<div>'+document.getElementsByTagName('div')[0].innerHTML+'</div>');");

以及我的活动

class MyJavaScriptInterface {
        @SuppressWarnings("unused")
        public void processHTML(final String html) {
            runOnUiThread(new Runnable() {
                public void run() {
                     Spanned page = Html.fromHtml(html);
                     System.out.println("content"+page);

                }
            });
        }
    }

这篇关于如何获取WebView中显示的HTML页面的全部内容文本的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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