【发布时间】:2016-12-24 02:10:21
【问题描述】:
我正在尝试使用 Selenium Webdriver 或 Javascript 检查复选框的状态,但经过大量研究我仍然无法做到。
我的问题是:复选框没有“选中”属性:
<input type="checkbox" name="site[new_sign_up]" id="site_new_sign_up" value="1">
对于常规的普通复选框,我使用下一个字符串来检测复选框是否被选中:
if (checkbox.GetAttribute("checked") != null && checkbox.GetAttribute("checked").Equals("true"))
我知道可以用 JS 来完成:
$get("isAgeSelected").checked == true
但我仍然不能这样做,因为我的复选框没有“选中”属性。
如果使用 selenium 我检查元素的“已选择”属性,它也不会告诉我复选框状态的真相。
有什么建议吗?提前致谢。
【问题讨论】:
-
你使用 jQuery 吗?
-
我想你只需要检查
checkbox.GetAttribute("checked") != null就行了 -
只使用
checkbox.checked它是原生JS,不依赖于checked属性 -
WebElement 在 java 中有一个 isSelected() 方法,如果选中了复选框或单选,则返回 true。否则为假。
标签: javascript jquery selenium checkbox selenium-webdriver