我使用WebView和Jsoup构建应用程序,以删除具有唯一ID或Class的元素。但是我有一个问题,用Jsoup删除背景图片。这是我用Jsoup删除背景图片的代码。
private class MyAsyncTask extends AsyncTask<Void, Void, Document> {
@Override
protected Document doInBackground(Void... voids) {
String url = "https://www.mywebsite.com/";
Document document = null;
try {
document = Jsoup.connect(url).get();
document.getElementsByAttribute("url(\"https://www.mywebsite.com/assets/style/lapor/images/body-background.jpg\")").remove();
} catch (IOException e) {
e.printStackTrace();
}
return document;
} }
谢谢。
答案 0 :(得分:0)
查看getElementsByAttribute
方法中的JavaDoc。它期望属性的名称作为参数,但是您提供了css属性的值。绝对是错的,而且行不通。
此外,Jsoup是一个用于处理HTML的库。这意味着您可以读取,遍历和操作文档的DOM树,但不能查看其样式。我不支持按其样式查询元素。
但是您可以通过以下方式满足您的要求:
style
属性,以覆盖background-image
规则。 对于您提供的情况,替换行时它应该可以工作:
document.getElementsByAttribute("url(\"https://www.mywebsite.com/assets/style/lapor/images/body-background.jpg\")").remove();
...到以下内容:
document.body().attr("style", "background-image: none;")