一天的大部分时间里,我一直在思考这个问题;我需要计算父div中的子节点数。它基本上就像一个列表,每个子节点都是我想要计算的行。html看起来像:
div<@class="list ">
div<@id="list-item-01">
div<@id="list-item-02">
div<@id="list-item-03">
div<@id="list-item-04">
div<@id="list-item-05">
...
</div>
我的主要方法是使用一些javascript在Selenium中使用getEval()
函数。
失败的示例:
String locator = "xpath=//div[contains(@class, list )]";
String jscript = "var element = this.browserbot.findElement( "+locator+" );";
jscript += "element.childNodes.length;";
String locator = "xpath=//div[@class= list ]";
String jscript = "var element = this.browserbot.findElement( "+locator+" );";
jscript += "element.childNodes.length;";
现在我知道元素在那里,我的xpath是正确的,因为我尝试过使用.isElementPresent
,结果返回true。所以硒和divs有点奇怪。
我还试着用document.eevaluate()
作为我的javascript命令,但同样没有结果。