6

私は HtmlUnit を初めて使用し、それが自分のプロジェクトに適したツールであるかどうかさえわかりません。Web サイトを解析して、そこから必要な値を抽出しようとしています。これから「07:05」という値を取得する必要があります。

<span class="tim tim-dep">07:05</span>

値を抽出するために getTextContent() を使用できることはわかっていますが、特定のスパンを選択する方法がわかりません。を見つけるために getElementById を使用しました

<div>

この式が属するタグですが、その div のテキスト コンテンツを取得すると、多くの不要なデータを含むテキスト行全体が取得されます。おそらくクラス名を使用して、この式を選択する方法を教えてもらえますか?

4

2 に答える 2

9

次のように、ページを参照して操作する必要があります。

final WebClient web = new HtmlUnit();
final HtmlPage page = web.getPage("http://www.whateveryouwant.com.br");

タグ名で要素を取得し、それを繰り返し処理します。

final List<DomElement> spans = page.getElementTagName("span");
for (DomElement element : spans) {
    if (element.getAttribute("class").equals("tim tim-dep")) {
        return element.getNodeValue();
    }
}

または、XPath を使用します。

// Not sure what getFirstByXPath return
DomElement element = page.getFirstByXPath("//span[@class='tim tim-dep']");
final String text = element.getNodeValue();
于 2013-05-04T21:44:04.860 に答える
1

どうぞ..

DomElement element = page.getFirstByXPath("//span[@class='tim tim-dep']");
String text = element.getTextContent();
于 2014-07-27T18:59:24.070 に答える