我如何从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