HTMLUNIT的“getnodevalue”不适用于domattr

时间:2013-07-09 14:25:21

标签: htmlunit

每当我想获得我的DomAttr的值时,我得到一个TypeError:

我的代码:

Wanted = page.getByXPath("//span[contains(.,'Some')]/parent::a/@href");

返回此

[DomAttr[name=href value=URLSTRING]]

现在我想用Wanted.getNodeName()来表示值(= URLSTRING); 但每次我得到错误

Cannot find function getNodeValue in object [DomAttr[name=href value=

当我使用getValue

请帮帮我

1 个答案:

答案 0 :(得分:0)

在代码中有一些没有意义的东西(特别是因为它不完整)。但是,我想我可以猜到问题是什么。

getByXPath实际上正在返回一个List(有趣的是,您错过了将代码指定为列表的代码部分,并将其替换为Wanted)。

请注意,您也可能在代码中也有类型警告。

现在,您可以看到返回的值位于方括号中。这意味着它是一个列表(确认第一个假设)。

最后,虽然你碰巧错过了那部分代码,但我猜你是直接将getValue应用于列表而不是列表中的DomAttr元素。

如何解决它:如果你需要多于1个结果迭代列表的元素(那里有Wanted个字)。如果您需要1个结果,请使用getFirstByXPath方法。

我的猜测是对的吗?