Java Jsoup eq选择器不返回任何值

Java Jsoup eq选择器不返回任何值,java,jsoup,html-parsing,Java,Jsoup,Html Parsing,尝试使用jsoup1.10.3获取数据时,似乎eq选择器工作不正常 我尝试了第n个孩子,但似乎没有得到第二个表(表:第n个孩子(2)) 我的选择器正确吗 html > body > table:nth-child(2) > tbody > tr:nth-child(2) > td:nth-child(2) 在下面的示例中,尝试提取值2323 您可能正在努力解决几个问题。首先,我认为您不想使用:n子级(an+b)选择器。以下是该选择器的说明: :n在文档树中具有+

尝试使用
jsoup1.10.3
获取数据时,似乎
eq
选择器工作不正常

我尝试了第n个孩子,但似乎没有得到第二个表(表:第n个孩子(2))

我的选择器正确吗

 html > body > table:nth-child(2) > tbody > tr:nth-child(2) > td:nth-child(2)
在下面的示例中,尝试提取值2323


您可能正在努力解决几个问题。首先,我认为您不想使用
:n子级(an+b)
选择器。以下是该选择器的说明:

:n在文档树中具有+b-1同级的子(an+b)元素,对于任何正整数值或零值n,并且具有父元素。对于大于零的a和b的值,这将有效地将元素的子元素划分为a元素的组(最后一组取余数),并选择每个组的bth元素。例如,这允许选择器寻址表中的每一行,并可用于在四个循环中交替段落文本的颜色。a和b值必须是整数(正、负或零)。元素的第一个子元素的索引为1

我想您应该使用类型(n)的
:table:nth
选择器

其次,您仅使用选择器选择元素,但希望获得可见内容2323,这只是您选择的元素的一个内部节点。因此,缺少的是你获取内容的部分。有几种方法可以做到这一点。我再次建议您阅读文档。特别是对初学者非常有帮助。我想你可以用这样的东西:

String content = element.text();
String content = document.select("table:nth-of-type(2) tr:nth-of-type(2) td:last-of-type").text();
第三,使用CSS选择器,您确实需要遍历DOM的每个层次结构级别。由于表始终包含
tbody
tr
td
元素,因此可以执行以下操作:

String content = element.text();
String content = document.select("table:nth-of-type(2) tr:nth-of-type(2) td:last-of-type").text();

注意,我手头没有java编译器。请小心使用我的代码。

你能把你得到的结果和你期望的结果放在一个简单的HTML文档示例中吗?添加了一个链接,上面写着#这是试用示例#