Получить HTML-код из загруженного WebView [дубликат]
этот вопрос уже есть ответ здесь:
У меня что-то вроде этого
final WebView w=(WebView)findViewById(R.id.webView1);
w.loadUrl("http://somepage.com");
есть ли способ получить html-страницу, которая отображается в WebView в какой-то момент времени ? Я хочу получить эту html-страницу как строковую переменную.
в дело в том, что я хочу получить html-код после выполнения javascript на стороне клиента...
какие рекомендации ?
2 ответов
один способ я знаю;
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('<html>'+document.getElementsByTagName('html')[0].innerHTML+'</html>');");
}
});