0

以下に示すHTML(部分)があります。次を使用して要素を見つけたい:

org.jsoup.nodes.Element elem = doc.getElementById("date-2011-04-23");

しかし、私はいつもNULL. 誰でも私を助けることができますか?チェックとして、これも VB.NET を使用してコーディングしており、この要素にアクセスできます。

<td class="" id="date-2011-04-23" data-week="3" data-wkday="6">...</td>
4

2 に答える 2

0

HTML でコンテンツが見つからない理由は、スケジュールが Javascript を実行するブラウザーによって JSON ファイルから読み込まれ、ブラウザー DOM に追加されるためです。Jsoup は Javascript を実行しないため、ソース HTML にあるものしか見ることができません。

Charles のようなデバッグ プロキシ (または Chrome / Firefox のデバッグ ネットワーク ペイン) を使用すると、ブラウザーがページをレンダリングするために行うすべての要求を確認できます。この例では、スケジュール データはhttp://mlb.mlb.com/gen/schedule/phi/2011_4.jsonから取得されます。

于 2012-12-11T20:01:10.360 に答える
0

タグが次のようになっていると仮定します。

<td class="" id="date-2011-04-23" data-week="3" data-wkday="6">...</td>

これにはJSoup Selector APIを使用できます。

for( Element element : doc.select("#date-2011-04-23") )
{
    // Do something here
}

最初の要素だけが必要な場合:

Element element = doc.select("#date-2011-04-23").first();
于 2012-11-25T20:51:08.877 に答える