我有类似的东西
final WebView w=(WebView)findViewById(R.id.webView1); w.loadUrl("http://somepage.com");
有没有办法在某个时刻获取WebView中显示的html页面? 我想把这个html页面作为字符串variables。
关键是我想在客户端执行javascript后得到html代码…
任何准则?
我知道的一种方式;
你的活动中的decleration javascript处理程序
class LoadListener{ public void processHTML(String html) { Log.e("result",html); } }
配置完webview后;
webView.getSettings().setJavaScriptEnabled(true); webView.addJavascriptInterface(new LoadListener(), "HTMLOUT");
比webview客户端;
webView.setWebViewClient(new WebViewClient() { @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { return true; } @Override public void onPageStarted(WebView view, String url, Bitmap favicon) { } public void onPageFinished(WebView view, String url) { view.loadUrl("javascript:window.HTMLOUT.processHTML(''+document.getElementsByTagName('html')[0].innerHTML+'');"); } });
获取代码的一种方法是使用此处给出的HttpClient。 以下博客中给出了另一种解决方案。