gpt4 book ai didi

android - 获取第一个元素时奇怪的 jsoup 行为

转载 作者:搜寻专家 更新时间:2023-11-01 09:40:55 24 4
gpt4 key购买 nike

刚开始用jsoup,不知道为什么会出现下面的问题:

...
Document doc = Jsoup.connect("http://4pda.ru").get();
Elements articleElems = doc.select("article.post");
for(Element article:articleElems)
{
Element desc = article.select("div.description").first();
Elements posts = desc.select("h1.list-post-title");
Log.d(TAG,"size is "+posts.size()); // it's ok, size is 1
...
}

因此,由于大小为 1,我想获取第一个元素,因此我将代码更改如下:

for(Element article:articleElems)
{
Element desc = article.select("div.description").first();
Element post = desc.select("h1.list-post-title").first();
Log.d(TAG,"post is "+post.toString()); // there NullPointerException throws
...
}

我无法理解这个...

最佳答案

您选择的文章没有h1.list-post-title
您可以使用 has()。这是关于 has()
的官方文档:has(seletor):查找包含与选择器匹配的元素的元素

这里是有的解决方案

    Document doc = Jsoup.connect("http://4pda.ru").get();
Elements articleElems = doc.select("article.post:has(h1.list-post-title)");
for (Element article : articleElems) {
Element desc = article.select("div.description").first();
Element post = desc.select("h1.list-post-title").first();
System.out.println(post);
}

关于android - 获取第一个元素时奇怪的 jsoup 行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39883775/

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