htmlUnit - 如何获取非元素内容

时间:2015-07-02 20:19:44

标签: 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中,但由标签br分隔。我如何定位这三个内容并获取文本内容?

谢谢。

1 个答案:

答案 0 :(得分:1)

使用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")