2015-11-27 3 views
0

Это мой HTMLJsoup получить текст из сНа класса

<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 класса = "открытого состояния" ID = "Трасса-статус скриптовых"), я не могу это сделать. Я использую этот код для первого класса, без проблем, но я не могу сделать это для второго 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(); 

Любые подсказки?

ответ

0

Done. Я решил с этим кодом

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(); 
0

Simplify таким образом:

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(); 
    } 
} 
+0

Я использую e.text(); и вернуть пустую строку. Это веб-страница http://www.snowbird.com/mountain-report/ –

+0

Я изменил код. – Ruben

+0

все еще пусто, возвращает пустую строку –

0

Поскольку в HTML всех идентификаторов must be unique, так что вы можете просто использовать этот селектор.

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

Примечание:

  • #foo равна *[id=foo]
  • .foo равно *[class=foo]