【发布时间】:2018-08-08 21:48:22
【问题描述】:
<div class="bodyCells">
<div style="position:absolute;left:0;">
<div style="overflow:hidden;">
<div title="AAA" class="pivotTableCellWrap">AAA</div>
<div title="BBB" class="pivotTableCellWrap">BBB</div>
</div>
<div>
<div title="AAA-123" class="pivotTableCellWrap">AAA-123</div>
<div title="BBB-123" class="pivotTableCellWrap">BBB-123</div>
</div>
</div>
</div>
我的页面中有两个 bodycells div,我希望计算第二个中的嵌套 div。 必需的输出 :- 我想要 count=2
尝试过的方法 :-
int rowCount = driver.FindElements(By.XPath("//div[@class='bodyCells[2]']//div").Count());
Console.WriteLine(rowCount);
【问题讨论】:
-
我的代码中有两个 div 的 bodycells ..我想要上面提到的第二个嵌套 div 的计数
-
是的,它应该在外面..但我仍然需要正确的命令
-
int rowCount = driver.FindElements(By.XPath("//input[@id='bodyCells'])[2]/div/div").Count()); Console.WriteLine(rowCount);这行得通吗
-
您可以使用 CSS 选择器,例如
div[title$='-123'],它将找到标题以“-123”结尾的DIVs。万一其他元素被添加到列表中并且索引发生变化,这比您的方法更脆弱。见CSS selector reference。
标签: c# selenium selenium-webdriver xpath css-selectors