在JSoup中按类名获取元素

24

我试图获取所有包含在 bg_block_info 类中的信息,但是我却得到了另一个类别 <div class="bg_block_info pad_20"> 的信息。为什么会出现这种错误?

Document doc = Jsoup.connect("http://www.maib.md").get(); 
Elements myin = doc.getElementsByClass("bg_block_info");
5个回答

28
您可以组合和链接选择器来精确您的查询,例如:
Document doc = Jsoup.connect("http://www.maib.md/").get();
Elements els = doc.getElementsByClass("bg_block_info").not(".pad_10").not(".pad_20");

12

该元素有两个类(注意bg_block_infopad_20之间的空格):

<div class="bg_block_info pad_20">

所以它确实有类名为bg_block_info,你的代码按预期工作。


3
Elements downloadLinks = dContent.select("a[href]");
Elements pdfLinks = downloadLinks.select("a[data-format$=pdf]");

完整参考jsoup选择器语法


0

只需在bg_block_info""pad_20"之间使用逗号。应该像这样。

Elements myin = doc.getElementsByClass("div.bg_block_info.pad_20");


0
在您的情况下,您可能会使用Element content = doc.getElementById("pollsstart");而不是Elements myin = doc.getElementsByClass("bg_block_info");

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接