如何检查是不是在 Selenium 中选中了在 ExtJs 中实现为按钮的复选框? [复制]

Posted

技术标签:

【中文标题】如何检查是不是在 Selenium 中选中了在 ExtJs 中实现为按钮的复选框? [复制]【英文标题】:How to check if checkbox implemented as button in ExtJs is checked in Selenium? [duplicate]如何检查是否在 Selenium 中选中了在 ExtJs 中实现为按钮的复选框? [复制] 【发布时间】:2012-09-21 23:53:00 【问题描述】:

可能重复:Selenium checkbox attribute “checked”

我正在测试一个用 ExtJs 实现的应用程序。

复选框和单选按钮被实现为按钮。

我正在尝试获取复选框的状态,如果它被选中或没有使用 Selenium。

这里是实现:

<td id="checkboxfield-1258-bodyEl" class="x-form-item-body x-form-cb-wrap" role="presentation" colspan="3" style="width: 100%;">
<input id="checkboxfield-1258-inputEl" class="x-form-field x-form-checkbox" type="button" hidefocus="true" autocomplete="off" aria-invalid="false" data-errorqtip="" style="-moz-user-select: text;">
<label id="checkboxfield-1258-boxLabelEl" class="x-form-cb-label x-form-cb-label-after" for="checkboxfield-1258-inputEl">Use External tag</label>
</td>

有人可以指导我如何检查状态吗?

谢谢, 哈帕尔

【问题讨论】:

【参考方案1】:

第一个可能的解决方案: 你在 API 中尝试过这个 isSelected() 方法吗?

isChecked = e.findElement(By.tagName("input")).Selected;

isChecked = e.findElement(By.tagName("input")).isSelected;

查看更多信息here 第二种可能的解决方案: 这是获取元素某些属性的函数:

public String jsGetColor(String css)

        javascriptExecutor js = (JavascriptExecutor) driver;
        StringBuilder stringBuilder = new StringBuilder();
        stringBuilder.append("var x=$(\'"+css+"\');");
        stringBuilder.append("return x.css('color')");
        String res= (String) js.executeScript(stringBuilder.toString());
        return res;

    

希望对你有帮助)

【讨论】:

以上是关于如何检查是不是在 Selenium 中选中了在 ExtJs 中实现为按钮的复选框? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

如何检查是不是在 jQuery 中选中了复选框?

如何检查是不是在 jQuery 中选中了复选框?

如何检查是不是在 jQuery 中选中了复选框?

如何检查是不是在 jQuery 中选中了复选框?

如何检查是不是在 jQuery 中选中了复选框?

如何检查是不是在 jQuery 中选中了复选框?