javascript - 如果复选框没有 "checked"属性,如何检查它的状态?

标签 javascript jquery selenium checkbox selenium-webdriver

我正在尝试使用 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,我会检查元素的“Selected”属性,它也不会告诉我复选框状态的真实性。

关于如何操作有什么建议吗?在此先感谢。

最佳答案

DOM API 为所有输入类型提供了一个 checked 属性,无论它们是否具有 checked 属性(或者即使它们不可检查,即文本元素)

不应该依赖存在的 checked 属性来确定复选框是否被选中。

var x = document.createElement('input');
console.log(x.checked); //false
x.type = 'checkbox';
console.log(x.checked); //false
x.checked = true;
console.log(x.checked); //true
console.log(x); //<input type="checkbox"> - see? no checked attribute, yet it is still checked

关于javascript - 如果复选框没有 "checked"属性,如何检查它的状态?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38996277/

相关文章:

javascript - 如何将非常大的十进制数转换为字符串?

javascript - 如何控制从 Node 中的流发起的异步http客户端请求的数量?

javascript - jquery/javascript 访问查询字符串/路径

javascript - 获取动态生成的html元素中每个元素的keyup事件

java - Selenium ChromeDriver 无法在任何 Windows 操作系统上启动

php - 如何在 Codeception 助手中访问参与者(例如 AcceptanceTester)

asp.net - javascript 设置的值未保存在 asp.net 中

javascript - 背景图像不会淡入

java - 引导层初始化期间发生错误java.lang.module.FindException : Module processed. commons.exec not found,

Javascript计算功能 - 不在html中计算