我正在尝试使用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);
}
答案 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,我仍然不知道该怎么办。