本文介绍了如何获取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页面的全部内容文本的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!