我如何從WebView獲取網頁的源代碼?我如何從WebView獲取頁面源代碼?
我只想在我的WebView輸入www.google.com,然後當我進入這個網站,我想例如源
String a=........;(source)
我如何從WebView獲取網頁的源代碼?我如何從WebView獲取頁面源代碼?
我只想在我的WebView輸入www.google.com,然後當我進入這個網站,我想例如源
String a=........;(source)
我不知道這是怎麼遠將是很有幫助。但我已經使用下面的代碼片段來獲取一個小的HTML頁面的數據。我希望它能幫助你。
創建類似下面的一個類,
class MyJavaScriptInterface
{
@SuppressWarnings("unused")
public void processHTML(final String html)
{
Log.i("processed html",html);
Thread OauthFetcher=new Thread(new Runnable() {
@Override
public void run() {
String oAuthDetails=null;
oAuthDetails=Html.fromHtml(html).toString();
Log.i("oAuthDetails",oAuthDetails);
}
});OauthFetcher.start();
}
}
現在,在您的onCreate(),
webview.getSettings().setJavaScriptEnabled(true);
webview.addJavascriptInterface(new MyJavaScriptInterface(), "HTMLOUT");
webview.setWebViewClient(new WebViewClient(){
@Override
public void onPageFinished(WebView view, final String url) {
String oAuthUrl=getString("www.google.com");
if(url.contains(oAuthUrl))
{
Log.i("Contains","Auth URL");
twitter_webview.loadUrl("javascript:window.HTMLOUT.processHTML('<html>'+document.getElementsByTagName('html')[0].innerHTML+'</html>');");
}
}
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
progressDialog.show();
}
});
現在發生的事情是,當你的頁面加載完成後,將JavaScript類會被調用,它將檢索頁面源並按照您的要求將其存儲在字符串中。
我現在看到它,我正在嘗試這個謝謝。 – 2012-04-02 15:56:49
位圖和progressDialogit不會導入,我將twitter_webview更改爲webvie?什麼可以做 – 2012-04-02 16:10:57
什麼是getstring? – 2012-04-02 16:12:12
和API 17
import android.webkit.JavascriptInterface;
public class MainActivity extends Activity {
final Context myApp = this;
@JavascriptInterface
public void processHTML(String html) {
if (html == null)
return;
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final WebView browser = (WebView) findViewById(R.id.webview);
browser.getSettings().setJavaScriptEnabled(true);
browser.addJavascriptInterface(this, "HTMLOUT");
browser.setWebViewClient(new WebViewClient() {
@Override
public void onPageFinished(WebView view, String url) {
browser.loadUrl("javascript:window.HTMLOUT.processHTML('<html>'+document.getElementsByTagName('html')[0].innerHTML+'</html>');");
}
});
browser.loadUrl("http://www.google.co.il");
}
}
你想整個源代碼或只是HTML標記? – 2012-04-01 17:55:18
我想整個源代碼。 (例如,當我將它粘貼到.txt中並使用瀏覽器打開它時我想查看該網站) – 2012-04-01 17:57:05
您瞭解我嗎? – 2012-04-01 18:06:34