html文档中有四个: class="post" 的 div 元素
利用jsoup选择class="post" 的元素
Document doc = Jsoup.parse("http://example.com/");
Elements link = doc.getElementsByClass("post");
默认情况下是四个全部都选了,
怎么才能只选最后一个:
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
在使用Jsoup时,如果你想选取特定类名的元素中的最后一个元素,可以通过获取所有该类名的元素集合后,再利用集合的大小来选取最后一个元素。这里是一个示例代码片段:
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
public class JsoupExample {
public static void main(String[] args) {
try {
// 解析HTML文档
Document doc = Jsoup.connect("http://example.com/").get();
// 获取所有class为"post"的元素
Elements posts = doc.getElementsByClass("post");
// 检查是否有找到元素
if (!posts.isEmpty()) {
// 选取最后一个元素
Element lastPost = posts.get(posts.size() - 1);
// 打印或处理最后一个元素
System.out.println(lastPost.outerHtml());
} else {
System.out.println("没有找到class为'post'的元素");
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
这段代码首先连接到指定的URL并获取HTML文档,然后通过getElementsByClass("post")
获取所有class为"post"的Elements
集合。之后,使用posts.size() - 1
来获取集合中最后一个元素的索引,并通过get()
方法选取这个元素。最后,打印出这个最后一个元素的完整HTML代码。如果集合为空(即没有找到匹配的元素),则会输出提示信息。