在getbyxpath中运行getbyxpath的HtmlUnit

时间:2015-04-12 11:56:09

标签: java xpath htmlunit

我有这样的HTML:

<div id="myId">
    <a href="#">
        <div class="name">Item1</div>
        <span class="location">32143|2323</span>
    </a>
    <a href="#">
        <div class="name">Item1</div>
        <span class="location">32143|2323</span>
    </a>
    <a href="#">
        <div class="name">Item1</div>
        <span class="location">32143|2323</span>
    </a>
</html>

使用HtmlUnit for Java,我需要获取每个锚点的名称和位置。我尝试使用getByXPath来拾取所有锚点,然后使用for循环遍历它们并运行另一个getByXpath以获取div中的名称。但是,列表中的各个项目显然是对象,因此我无法运行第二个getByXPath。

我还尝试使用“/ a / div [@ class ='name']”来运行第一个getByXPath,我循环遍历结果,这些对象是我无法找到返回div内容的正确方法。

1 个答案:

答案 0 :(得分:3)

如果你的xpath选择元素,你可以将列表转换为所需的类型:

List<HtmlElement> divs = (List<HtmlElement>)document.getByXPath("//a/div[@class='name']");