使用 HtmlUnit 从 <p> 中检索值
Retrieving values from a <p> with 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-->
我想获取代码(这个东西--> 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 class 是空的。有什么建议吗?
我手头没有 HTML 单元,但是 XPath 查询 "//*[@id='Main']/p/span"
应该可以为您提供 span
元素(如果您正在处理 HTML就像你的例子一样)。然后您应该能够从该元素中获取文本以找到您的 XXX-XXX-XXX 代码。
自从我使用 HTMLUnit 以来已经有很长一段时间了,但是从 the docs 开始,您想要的完整代码看起来像这样:
String code = page.getFirstByXPath("//*[@id='Main']/p/span").getTextContent();
我正在使用 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-->
我想获取代码(这个东西--> 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 class 是空的。有什么建议吗?
我手头没有 HTML 单元,但是 XPath 查询 "//*[@id='Main']/p/span"
应该可以为您提供 span
元素(如果您正在处理 HTML就像你的例子一样)。然后您应该能够从该元素中获取文本以找到您的 XXX-XXX-XXX 代码。
自从我使用 HTMLUnit 以来已经有很长一段时间了,但是从 the docs 开始,您想要的完整代码看起来像这样:
String code = page.getFirstByXPath("//*[@id='Main']/p/span").getTextContent();