c# - Selenium WebDriver : how to count number of DIV elements in a list

标签 c# selenium selenium-webdriver xpath css-selectors

我正在尝试使用 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/

相关文章:

java - 如何使用 TestNG 并行运行 Selenium?

C# Ctrl+F 有时不起作用

java - JAVA(Selenium)中的for循环通过cssSelector查找Element

Selenium WebDriver - 同时按下和单击 C#

selenium - 无法发送按键事件 : Event details : Type 3 Keycode 13 ; unmodified text: , 修改文本 : , 修饰符:0

python-3.x - Selenium WebDriverWait 在网络抓取时在 Python 上返回错误

java - 为什么 TestNG 正在执行没有 @Test 注释的公共(public)方法

javascript - ASP.NET MVC AJAX 将参数传递给 Controller

c# - 获取对调用方法的对象的引用?

c# - 在一个简单的 C# metro 应用程序中崩溃,错误代码为 0x5d039293