使用HtmlUnit从<p>中检索值

时间:2015-10-05 19:57:34

标签: java xpath htmlunit

我正在浏览一个带有HtmlUnit的网页,以获取跨度内的文本(代码)。每次我登录后都会生成此代码。这是HTML的外观示例:

<div id="Main" class="" role="main">
    <p>Your code for this session:</p>
    <p style="align: center; text-align: center;">
        <span>XXX-XXX-XXX</span>
    </p>
</div><!--end Main-->

我想获取代码(此事 - &gt; XXX-XXX-XXX )。

我尝试了以下内容:

final HtmlPage page = webClient.getPage("http://the_url");
final HtmlDivision div = page.getHtmlElementById("Main");

但是,当我打印div的内容时,它会打印<a>标签中的文本。

我没有使用getByXPath("//div[@class='someclass']//p");因为div类是空的。有什么建议吗?

1 个答案:

答案 0 :(得分:1)

我没有HTMLUnit可供使用,但XPath查询"//*[@id='Main']/p/span"应该为您提供span元素(如果您正在处理的HTML与示例中一样)。然后,您应该能够从该元素中获取文本以找到您的XXX-XXX-XXX代码。

自从我使用HTMLUnit已经有很长一段时间了,但是从the docs开始,看起来你想要的完整代码就像是:

String code = page.getFirstByXPath("//*[@id='Main']/p/span").getTextContent();