gpt4 book ai didi

JavaScript/Jsoup - 从 "i class"获取背景图像 url

转载 作者:行者123 更新时间:2023-11-28 05:04:10 25 4
gpt4 key购买 nike

因此,我正在应用程序的 webview 中加载一个网页,其中有一个 HTML i class="img profimage" ,它有一个背景图像 url,这就是我的目标...

我想使用 JavaScript 或使用 Jsoup 来获取该目标...

到目前为止我对 Jsoup 的尝试是这样的:

public class GetImage extends AsyncTask<String, String, String> {

protected String doInBackground(String... strings) {

Document document = null;

try {

document = Jsoup.connect(url).get();

} catch (IOException e) {

e.printStackTrace();

}

String temp = document.select("i.img.profpic").first().getElementsByAttribute("style").toString();

return temp.substring(temp.indexOf("(") + 1, temp.indexOf(")"));

}

 

protected void onPostExecute(String result) {

Log.d("ChatScreen", result);

Toast.makeText(ChatScreen.this, result, LENGTH_SHORT).show();

}

}

但是我得到了 NPE...我不知道如何使用 JavaScript 获取 i class 的背景图像 url...我可以在网络上找到大量示例,了解如何为 div 获取它使用ids

页面的 HTML 结构类似于:

<div ....>
<div ....>
<i class="img profimage" style="background-image: url("url here");"/>
</div>
</div>

最佳答案

检查this Answer也许这会起作用,但我没有尝试过。 JS 函数编写在 evaluateJavascript() 中,它将读取样式属性,然后您可以使用 substring 方法来获取 URL。

webview.evaluateJavascript(
"(function() { return (document.getElementsByTagName('i')[index].getAttribute('style')); })();",
new ValueCallback<String>() {
@Override
public void onReceiveValue(String html) {
Log.d("HTML", html);
// now use substring to get url.....
}
});

希望这对您有帮助。

关于JavaScript/Jsoup - 从 "i class"获取背景图像 url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41882324/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com