Ich versuche, den Inhalt der Web-Seite in Android zu bekommen .. Ich habe bereits versucht JSoup verwenden, aber es bietet keine Unterstützung für Ajax ..Get Ajax Loaded Html in WebView Android
So bin ich versuchen, URL innerhalb einer unsichtbaren Netzansicht zu laden und das HTML in onPageFinished
Methode zu erhalten.
Ich kann das HTML erhalten, aber das ajax geladene HTML erscheint nicht. Hier ist der Code:
final WebView webView = (WebView) findViewById(R.id.testWebView);
webView.getSettings().setJavaScriptEnabled(true);
webView.addJavascriptInterface(new MyJavaScriptInterface(this), "HtmlViewer");
webView.setWebViewClient(new WebViewClient() {
public void onPageFinished(WebView view, String url) {
Log.d(TAG, "finished loading : ");
webView.loadUrl("javascript:window.HtmlViewer.showHTML" +
"('<html>'+document.getElementsByTagName('html')[0].innerHTML+'</html>');");
}
});
webView.loadUrl(url);
class MyJavaScriptInterface {
private Context ctx;
MyJavaScriptInterface(Context ctx) {
this.ctx = ctx;
}
@JavascriptInterface
public void showHTML(String html) {
Log.d(TAG, "HTML: " + html);
new AlertDialog.Builder(ctx).setTitle("HTML").setMessage(html)
.setPositiveButton(android.R.string.ok, null).setCancelable(false).create().show();
}
}
Also meine Fragen sind:
-Warum ist nicht die Ajax-html mit der HTML-Seite geladen?
- Gibt es eine andere Möglichkeit, Seite html mit Ajax mit einer Bibliothek oder etwas ähnliches zu laden?
Ich bin nicht wirklich vertraut mit dem WebView, aber ich ersetzt webView.loadUrl durch webView.loadData aber die showHTML-Methode wird nie aufgerufen. onPageFinished wird ständig aufgerufen –