每当我想获得我的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
时请帮帮我
答案 0 :(得分:0)
在代码中有一些没有意义的东西(特别是因为它不完整)。但是,我想我可以猜到问题是什么。
getByXPath
实际上正在返回一个List(有趣的是,您错过了将代码指定为列表的代码部分,并将其替换为Wanted
)。
请注意,您也可能在代码中也有类型警告。
现在,您可以看到返回的值位于方括号中。这意味着它是一个列表(确认第一个假设)。
最后,虽然你碰巧错过了那部分代码,但我猜你是直接将getValue
应用于列表而不是列表中的DomAttr元素。
如何解决它:如果你需要多于1个结果迭代列表的元素(那里有Wanted
个字)。如果您需要1个结果,请使用getFirstByXPath
方法。
我的猜测是对的吗?