我尝试从td
代码中提取值,但它不起作用,td
中的一个包含名为" Technology"的值,我希望获得td
之后的价值,例如td
是'技术'以及之后的td
:' Windows Server' < - 如何获得此值?这是一个代码:
</td>
</tr>
</tbody>
</table>
</dd>
<dt>
<a href="#course-info">Informacje o kursie</a></dt><dd id="course-info"><table><tbody>
<tr>
<td>Odbiorcy:</td>
<td style="text-transform: capitalize;">IT Professionals</td>
</tr>
<tr>
<td>Technologia:</td><td>Windows Server</td>
</tr>
<tr>
<td>Poziom:</td><td>300</td>
</tr>
<tr>
<td>Bieżąca wersja:</td><td>B</td>
</tr>
当我做这样的事情时:
for (Element element : doc.select("#course-info").first().children()){
if(element.text().contains("Tech")){
System.out.println(element.nextElementSibling().html());
}
}
然后NPE出现(元素),但是当我删除这个循环时,整个方法工作正常。
答案 0 :(得分:1)
&#34; Windows Server&#34;的特定CSS selector
;是#course-info > table:nth-child(1) > tbody:nth-child(1) > tr:nth-child(2) > td:nth-child(2)
如果您想知道要使用哪个选择器,请打开浏览器的开发人员工具(F12),然后检查DOM。选择所需的元素并获取选择器
我相信你的表中有更多的行,所以你必须循环通过。表,通过更改上面选择器中的一个(或多个)数字常量。