当前位置: 首页 > 知识库问答 >
问题:

JSOUP:获取某个元素之前的所有元素/删除某个元素之后的所有元素

巫懿轩
2023-03-14

假设我有这样的html:

<div class="pets">
  <div class="pet">...</div>
  <div class="pet">...</div>
  <div class="pet">...</div>
  <div class="pet">...</div>
  <div class="friends-pets">Your friends have these pets:</div>
  <div class="pet">...</div>
  <div class="pet">...</div>
  <div class="pet">...</div>
  <div class="pet">...</div>
  <div class="pet">...</div>
  <div class="pet">...</div>
</div>

我只想获得 之前的 。有没有办法用JSOUP做到这一点呢?我知道我可以把所有的宠物都弄成这样:

Element petsWrapper = document.selectFirst(".pets");
Elements pets = petsWrapper.select(".pet");

但这也包括额外的宠物。我想知道我是只能选择上面的宠物还是只是删除下面的宠物然后使用那个代码?

共有1个答案

艾俊晖
2023-03-14

评论中的说明:

Element petsWrapper = document.selectFirst(".pets");
Elements pets = petsWrapper.select(".pet");
// select middle element
Element middleElement = petsWrapper.selectFirst(".friends-pets");
// remove from "pets" every element that comes after the middle element
pets.removeAll(middleElement.nextElementSiblings());
System.out.println(pets);
 类似资料:
  • 传入:{ text: "子目录一", id: 880 } 期望输出: 传入:{ text: "根目录", id: 9521 } 期望输出:

  • 问题内容: 我对如何在Java中执行此操作有一般的想法,但是我正在学习Python,但不确定如何执行。 我需要实现一个函数,该函数返回一个包含列表中所有其他元素的列表,从第一个元素开始。 到目前为止,我不确定从这里开始该怎么做,因为我只是在学习Python中的for循环是如何不同的: 问题答案:

  • 本文向大家介绍jquery实现删除一个元素后面的所有元素功能,包括了jquery实现删除一个元素后面的所有元素功能的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了jquery实现删除一个元素后面的所有元素功能的详细实现过程,具体实现内容如下 实现效果: 选择项目 点击删除按钮,被选项之后的所有同级元素都被删除 jQuery 遍历的nextAll() 方法可以搜索 DOM 树中的元素跟

  • 我试图将JSON中的数据保存到数组中,但最后一项覆盖了前面的值。我有一个用于存储学生信息的学生类和一个用于存储学生技能的技能类。 学生班 我在技能数组上循环,并将其附加到我的数组,并打印最后一个附加的值,正确的值被打印出来。 在循环中,从上述

  • 我想知道下面的问题是否有一个简单的解决方案。这里的问题是,我希望在初始条件为真后保留列表中出现的每个元素。这里的条件是,我想删除值大于18的条件之前的所有内容,但保留之后的所有内容。示例 输入: 预期产出: 我知道你可以通过 但是我想一旦找到18以上的第一个值就停止这个操作,然后包括其余的值,不管它们是否满足条件。这似乎是一个简单的问题,但我还没有找到解决办法。

  • 问题内容: 在带有Python的Selenium中,是否可以将WebElement的所有子级作为列表获取? 问题答案: 是的,您可以通过或实现。 但是,这听起来并不像查找某个元素的 所有子 元素的有效用例。要获得所有直接/间接孩子都是昂贵的手术。请进一步说明您要做什么。应该有更好的方法。