使用JSoup从WebView中删除Div

时间:2015-04-08 23:39:22

标签: android webview

我正在尝试使用JSoup从webview中删除“class”。有太多的例子可以删除它“by div id”但我找不到“by div class”的答案。请告诉我我该怎么办。我想要做的是从webview中删除。谢谢你的建议。

这是div部分

<div id='wrap_all'>
     <div class='mobil-logo'>
    <a href="http://www.isvecehliyet.se/mobil"><img width="250" height="100" title="Isvec Ehliyeti Teori Sorulari" alt="Isvec Ehliyeti Teori Sorulari" src="http://www.isvecehliyet.se/wp-content/themes/isvecehliyet/images/layout/isvec-ehliyet-logo.png" style="max-height: 100px;"></a>
    </div></div>

这是我的MainActivity的一部分

mWebview.getSettings().setJavaScriptEnabled(true);
 mWebview.loadUrl(mUrl);
 public class MyWebViewClient extends WebViewClient {

            @Override
            public void onPageStarted(WebView view, String url, Bitmap favicon) {
                mRefreshPbar.setVisibility(View.VISIBLE);
                mRefreshBtn.setVisibility(View.INVISIBLE);
                updateActionView();
            }

这是由id代码,但我不知道如何按类说明删除它

try {

doc = Jsoup.connect("http://isvecehliyet.se/mobil").timeout(100000).get();
 } catch (IOException e) {
 e.printStackTrace();
 }
 //get total document

Elements alldivs=doc.select("div");
 ArrayList<String> list=new ArrayList<String>();

for(org.jsoup.nodes.Element e: alldivs)
 {
 if(!e.id().equals(""))
 list.add(e.id());
 }
 //removing all <div> without "div2"
 for(int i=0;i<list.size();i++)
 {
 if(!list.get(i).equals(primeDiv))
 doc.select("div[id="+list.get(i)+"]").remove();
 }

html=alldivs.outerHtml();

return null;
 }
 @Override
 protected void onPostExecute(Void result) {

super.onPostExecute(result);
 webView.loadDataWithBaseURL(null,doc.html(),
 "text/html", "utf-8", null);

}

2 个答案:

答案 0 :(得分:2)

以下内容可行

Document doc = Jsoup.connect("http://isvecehliyet.se/mobil").timeout(10000).get();

doc.getElementsByClass("mobil-logo").first().remove();

答案 1 :(得分:1)

好的,我解决了。 on onPageFinished()方法我使用了这个;

mWebview.loadUrl("javascript:(function() { " +  
            "document.getElementsByClassName('mobil-logo')[0].style.display = 'none'; " +  
            "})()");

但如果我想隐藏一个div,我仍然不知道该怎么办。