【问题标题】:Get element by class in JSoup在 JSoup 中按类获取元素
【发布时间】:2012-03-09 06:05:32
【问题描述】:

我尝试获取名为:bg_block_info 的 div 类中包含的所有信息,但我却获取了另一个 div 类 <div class="bg_block_info pad_20"> 的信息,为什么我弄错了?

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

【问题讨论】:

    标签: java jsoup


    【解决方案1】:

    您可以组合和链接选择器来优化您的查询,例如:

    Document doc = Jsoup.connect("http://www.maib.md/").get();
    Elements els = doc.getElementsByClass("bg_block_info").not(".pad_10").not(".pad_20");
    

    【讨论】:

      【解决方案2】:

      那个元素有两个类(注意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 selector syntax

        【讨论】:

          【解决方案4】:

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

          【讨论】:

            【解决方案5】:

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

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

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2018-05-16
              • 1970-01-01
              • 2017-01-25
              • 2011-11-24
              相关资源
              最近更新 更多