我正在尝试使用 Selenium 计算网页上数据网格中的行数。每行由一个使用以下结构的 div 表示(本文已简化):-
<div id="resultsGrid">
<div>
<div>
<div/>
<div>
<div class="canvas">
<div data-bind="foreach: renderedRows">
<div>list item</div>
<div>list item</div>
<div>list item</div>
<div>list item</div>
</div>
</div>
</div>
</div>
</div>
</div>
通过阅读其他类似的帖子,我尝试使用以下代码和 XPath 返回 <div data-bind="foreach: renderedRows">
中的 div 数量。
var rowCount = webDriver.FindElements(By.XPath("//*[@id='usersResultsGrid']/div/div/div[2]/div/div")).Count;
每当我尝试此操作时,我只会返回 1 个计数,而不是预期的 4 个(在本例中)。谁能指出我做错了什么的正确方向?
谢谢。
最佳答案
已解决。答案是在 By.XPath("//*[@id='usersResultsGrid']/div/div/div[2]/div/div/div") 中向 xpath 添加一个额外的 div。我最初的 xpath 指向 div“data-bind”元素,它当然只有 1 个计数,我需要它下面的 div 列表。
关于c# - Selenium WebDriver : how to count number of DIV elements in a list,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65331538/