Obtener el código HTML de WebView cargado
Tengo algo como esto
final WebView w=(WebView)findViewById(R.id.webView1); w.loadUrl("http://somepage.com");
¿Hay alguna manera de obtener la página html que se muestra en el WebView en algún momento del tiempo? Quiero obtener esta página html como variable de cadena.
- Android: reducción de la calidad de los píxeles en las imágenes cargadas en WebView
- Android WebView impide la recarga de la página
- Las actualizaciones de la caché de la aplicación se bloquean en el estado CHECKING
- LinearLayout de un WebView y un botón
- Personajes extraños en html webview
El punto es que quiero obtener el código html después de que el javascript se ejecuta en un lado del cliente …
Alguna guía?
- Capas dentro de un HTML dentro de una webview
- El diálogo de carga de la vista Web de Android no se ha descartado
- Cuando invoco una función Java desde mi código Javascript, WebView se bloquea. ¿Por qué?
- Llamar a métodos Android desde JavaScript
- Cómo jugar auto iframe youtube en webview android
- Ajuste de los contenidos de la página web dentro de una vista web (Android)
- Establecer el color del cursor en una vista web de Android
- ¿Existe una alternativa a NestedScrollView para su uso con un WebView?
Una manera que sé;
Decleration javascript handler en su actividad
class LoadListener{ public void processHTML(String html) { Log.e("result",html); } }
Después de configurar su webview;
webView.getSettings().setJavaScriptEnabled(true); webView.addJavascriptInterface(new LoadListener(), "HTMLOUT");
Que el cliente 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('<html>'+document.getElementsByTagName('html')[0].innerHTML+'</html>');"); } });
Una forma de obtener el código es mediante el HttpClient como se da aquí . Otra solución se da en el siguiente blog .
- No se pudo encontrar el método android () para los argumentos en el proyecto de Android Studio
- Error de Android Recursos duplicados