2016-05-12 4 views
0

tdタグから値を抽出しようとしていますが、機能しません。tdに「技術」という値が入っていて、彼の後ろにある値tdたとえば、tdは「Technology」で、tdはそれ以降です: 'Windows Server' < - この値はどのように取得できますか?ここでのコードは次のとおりです。JS値からの値を抽出する​​タグ

</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は、(要素)が表示されますが、私はこのループを削除すると、全体の方法が正常に動作します。

答えて

1

「Windows Server」の特定のCSS selector#course-info > table:nth-child(1) > tbody:nth-child(1) > tr:nth-child(2) > td:nth-child(2)です。
使用するセレクタを知りたい場合は、ブラウザの開発者ツール(F12)を開き、DOMを調べます。目的の要素を選択し、セレクタを取得します。
私はテーブルにもっと多くの行があると思うので、ループする必要があります。上記のセレクタの数値定数のうちの1つ(またはそれ以上)を変更することによって、テーブルを更新します。