java - htmlUnit - 如何获取非元素内容

标签 java web-crawler htmlunit

我是htmlUnit的新手,正如标题一样,我碰巧遇到一些内容不在元素中。例如,

<div class="slide-title">
        <h2> Lady at her dressing table in a garden</h2>
        <p>
           Chinese
           <br>Southern Song dynasty
           <br>mid-12th century
           <br>
           <a href="/collections/search?f[0]=field_artists%253Afield_artist%3A1411">Su Hanchen</a> (Chinese, active 1120s–1160s)
        </p>
</div>

标签p中有“中国”、“南宋”、“12世纪中叶”三个信息,但用标签br分隔。如何定位这三个内容并获取文本内容?

谢谢。

最佳答案

使用XPath,即domNode.getFirstByXPath(path)

//div[@class='slide-title']/p/text()[1] = "Chinese"

//div[@class='slide-title']/p/text()[2] = "Southern Song Dynasty"

...

PS,使用 Chrome 开发者工具可以轻松使用 XPath。在控制台中使用 $x("//some-path")

关于java - htmlUnit - 如何获取非元素内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31193936/

相关文章:

java - 对注释的引用是否恒定?

java - 如何限制tomcat中的登陆页面?

python 在单独的列中给出列名和写入值作为表

python - 为什么我会收到这个(显然)不寻常的 AttributeError : 'bytes' object has no attribute '_all_strings' ? 有没有办法解决它?

python - 网络抓取工具和 Google App Engine 托管的应用程序

java - 如何使用 HtmlUnit 从 html 页面中提取元素

java - 使用 HTMLUnit 连接到 URL 时出现错误消息

java - 使用 XPath 函数 number() 和 string() 时出现 HtmlUnit 错误

java - 更新旧代码,但现在有前向声明错误

java - TreeMap 在刚刚更改的字段中返回空值