java - 使用 HtmlUnit 从 <p> 中检索值

标签 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-->

我想获取代码(这个东西--> 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 类是空的。有什么建议吗?

最佳答案

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

很久没用HTMLUnit了,但是来自the docs ,看起来您想要的完整代码类似于:

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

关于java - 使用 HtmlUnit 从 <p> 中检索值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32956876/

相关文章:

java - 将文本文件值分配给动态创建的 jTextFields

xpath - Groovy htmlunit getByXPath

java - 在谷歌学术中点击使用 HtmlUnit 的链接

java - HTMLUnit input.click() 未返回单击应加载的站点

java - Java中Hypertable中的Select语句

ide - 源代码中可以指定JDK版本吗?

python - 使用 Xpath 轴提取前面的元素

java - 如何使用HtmlUnit java上传&lt;input multiple>中的多个文件

java - 为什么我的交易没有提交?

xml - 只查找第一次出现的 XPath 表达式是什么?