【问题标题】:Jsoup get text from div classJsoup 从 div 类中获取文本
【发布时间】:2015-11-28 18:56:53
【问题描述】:

这是我的html

<div class="open-statuses">

  <div class="open-status" id="lifts-status-scripted">
    <h3>Lifts</h3>
    <div class="status-graph">
      <canvas width="177" height="177"></canvas>
      <div class="open-number">04</div>
      <div class="total-number">4</div>
    </div>
    <a href="/lifts-and-trails/" class="details">Details</a>
  </div>
  <div class="open-status" id="trails-status-scripted">
    <h3>Trails</h3>
    <div class="status-graph">
      <canvas width="177" height="177"></canvas>
      <div class="open-number">12</div>
      <div class="total-number">169</div>
    </div>
    <a href="/lifts-and-trails/" class="details">Details</a>
  </div>

  <div class="open-status open" id="road-status-scripted">
    <h3>Road</h3>
    <div class="status-graph">
      <canvas width="177" height="177"></canvas>
      <div class="status-message">Open</div>
    </div>
    <a href="/mountain-report/road-conditions/" class="road-conditions">Road Conditions</a>
  </div>
</div>

我需要来自 (div class="open-status" id="trails-status-scripted") 的文本,我做不到。我将这段代码用于第一个类,没有问题,但我不能为第二个 div 类这样做。

Elements div1=document.select("#mountain-report-page");
Elements div2=div1.select(".open-statuses-holder");
Elements div3=div2.select(".open-statuses");
Jliftbig = div3.select("div.open-number").first().ownText();

有什么线索吗?

【问题讨论】:

    标签: android html jsoup


    【解决方案1】:

    这样简化:

    Elements div = doc.select("div[id=mountain-report-page] div[class=open-statuses-holder] div[class=open-statuses] div[class=open-status]");
    
    for (Element e : div){
        if (e.id().equals("trails-status-scripted")){
            Element ele = e.select("div[class=status-graph] div[class=open-number]").first();
            String str = ele.text();
        }
    }
    

    【讨论】:

    【解决方案2】:

    完成。我用这段代码解决了

    Element div = document.select("div[id=mountain-report-page] div[class=open-statuses-holder] div[class=open-statuses] div[class=open-status] ").get(2);
    String Jtrails = div.select("div.open-number").first().ownText();
    

    【讨论】:

      【解决方案3】:

      由于在 HTML 中所有的 ID 都是 must be unique,所以你可以简单地使用这个选择器。

      Element div = document.select("#trails-status-scripted .open-number");
      

      注意事项:

      • #foo 等于 *[id=foo]
      • .foo 等于 *[class=foo]

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-09-05
        • 2017-02-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多