我正在浏览一个带有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类是空的。有什么建议吗?
答案 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();