selenium - 如何计算与我的 CSS 选择器匹配的元素数量?

标签 selenium css-selectors selenium-rc

我正在尝试使用 SeleniumRC 来测试我的 GWT 应用程序并尝试使用 CSS 选择器匹配元素。

我想计算以下 HTML 中启用的按钮的数量。

如果按钮位于 <td> 下,则启用该按钮与 class="x-panel-btn-td "如果低于 <td> 则禁用与 class="x-panel-btn-td x-hide-offsets" .

所以基本上,我想检索所有 <td> 下的按钮数量s 与类(class) x-panel-btn-td .

<table cellspacing="0">
    <tbody>
    <tr>
        <td id="ext-gen3504" class="x-panel-btn-td ">
            <em unselectable="on">
                <button id="ext-gen3506" class="x-btn-text" type="button">OK</button>
            </em>
        </td>
        <td id="ext-gen3512" class="x-panel-btn-td x-hide-offsets">
            <em unselectable="on">
                <button id="ext-gen3506" class="x-btn-text" type="button">Yes</button>
            </em>
        </td>
        <td id="ext-gen3520" class="x-panel-btn-td">
            <em unselectable="on">
                <button id="ext-gen3506" class="x-btn-text" type="button">No</button>
            </em>
        </td>
        <td id="ext-gen3528" class="x-panel-btn-td x-hide-offsets">
            <em unselectable="on">
                <button id="ext-gen3506" class="x-btn-text" type="button">Cancel</button>
            </em>
        </td>
    </tr>
    </tbody>
</table>

最佳答案

据我所知,您不能使用 CSS 选择器来执行此操作,但是 Selenium 中有一个命令可以通过 XPath 进行计数。以下命令将验证有两个禁用的按钮:

verifyXpathCount | //td[contains(@class, 'x-hide-offsets')]//button | 2

在 Selenium RC (Java) 中,这看起来更像是
assertEquals(selenium.getXpathCount("//td[contains(@class, 'x-hide-offsets')]//button"), 2);

关于selenium - 如何计算与我的 CSS 选择器匹配的元素数量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1573170/

相关文章:

css - 如何使用 CSS 缩放和拉伸(stretch)背景

continuous-integration - 使用 phpunit 3.5.13 和 seleniumRC 运行 PHPUnit 测试后生成报告并发送电子邮件通知

xpath - Selenium :如何断言选中的所有复选框?

java - "Fatal error"在 Sikuli 中,libs 目录不在系统路径上

selenium - 如何避免 WebDriver 在等待 Google Ads 或 Google Analytics 加载时卡住?

java - 如何用selenium获取文本同级标签?

html - CSS中如何选择某个类中的特定位置元素

java - 不一致的 Selenium 网格错误

css - CSS 选择器应该包含来自 DOM 的元素吗?

selenium - 如何在不同的 xvfb 屏幕上运行 selenium 服务器 session ?