一尘不染

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

selenium

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

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

如果是下一个按钮被启用<td>class="x-panel-btn-td "和禁用,如果它是下<td>class="x-panel- btn-td x-hide-offsets"

因此,基本上,我想<td>用class 检索all下的按钮数量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>

阅读 262

收藏
2020-06-26

共1个答案

一尘不染

据我所知,您不能使用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);
2020-06-26