从加载的WebView获取HTML代码

我有类似的东西

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。 以下博客中给出了另一种解决方案。