【发布时间】:2018-08-07 13:58:02
【问题描述】:
例如一个网站有这样的代码:
<div>
<div>
first
</div>
<div>
second
</div>
<div>
third
</div>
</div>
我想用“Jsoup”获取“第二个”div 文本,它没有属性或类。
【问题讨论】:
例如一个网站有这样的代码:
<div>
<div>
first
</div>
<div>
second
</div>
<div>
third
</div>
</div>
我想用“Jsoup”获取“第二个”div 文本,它没有属性或类。
【问题讨论】:
有几种方法可以做到这一点。 select 返回 Elements 扩展 ArrayList<Element> 的实例,因此您可以选择所有子 div 并在指定索引(从 0 开始)处选择一个,例如
String html = "<div>\n" +
" <div>\n" +
" first\n" +
" </div>\n" +
" <div>\n" +
" second\n" +
" </div>\n" +
" <div>\n" +
" third\n" +
" </div>\n" +
"</div>";
Document doc = Jsoup.parse(html);
Elements select = doc.select("div > div");
System.out.println(select.get(1));
输出:
<div>
second
</div>
你也可以使用:eq(n)选择器(来自official tutorial)
查找兄弟索引等于n的元素;例如表单输入:eq(1)
喜欢
System.out.println(doc.select("div > div:eq(1)"));
【讨论】: