HtmlUnit 运行 getbyxpath 里面的 getbyxpath

HtmlUnit running getbyxpath inside getbyxpath

我有 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 Java,我需要获取每个锚点的名称和位置。我尝试执行 getByXPath 来获取所有锚点,然后使用 for 循环遍历它们并 运行ning 另一个 getByXpath 以获取 div 中的名称。然而,列表中的 individual 项目显然是对象,所以我无法 运行 第二个 getByXPath。

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

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

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