如何确定是否通过xpath检查复选框
目前我正在尝试:
//input[@type='checkbox' and @checked='true')]
我有多个具有相同ID的复选框,因此我必须选择未选中/选中的下一个复选框。
具体来说,我需要这个用于Selenium IDE
修改 我真正需要的是......:
|storeXpathCount | //input[@name='xyz' and @checked='checked'] | is_checked |
如果选中复选框'xyz',则is_checked值应为1,否则为0
谢谢
答案 0 :(得分:9)
xpath
// Xpath, only works in certain situations
//input[@type='checkbox' and @checked='xyz']
仅在复选框的HTML源中有以下属性时才有效
checked="xyz"
开发人员可以随意用“xyz”代替“xyz”:“true”,“checked”,“ischecked”,...
因此,如果没有这样的属性,上面提到的xpath就不起作用。
在等待更多洞察力的同时,您可以考虑使用CSS选择器,它不依赖于这样的属性:
// CSS selector, for all checkboxes which are checked
input:checked[type='checkbox']
// CSS selector, for all checkboxes which are not checked
input:not(:checked)[type='checkbox']
请注意,没有
[type='checkbox']
您还将收到无线电: - )
答案 1 :(得分:4)
此处stnewrecord
是复选框类。
脚本将存储复选框的数量,并根据该循环将遵循。
它将检查是否选中了复选框,否则它将检查否则转到下一步。
xpath=(//input[@class='stnewrecord'])[${i}]
这是复选框的xpath。 'i'是位置,每次迭代都会增加。
让我知道它是否适合你。
答案 2 :(得分:2)
但是,没有使用css类和选择器的解决方案。
使用
//input[@type='checkbox' and @checked]
或
//input[@type='checkbox' and not(@checked)]
而不是
//input[@type='checkbox' and @checked='xyz']
答案 3 :(得分:0)
这样的事可能有效:
//input[@checked='checked']/following-sibling::*[1][not(@checked='checked')]
答案 4 :(得分:0)
你可以尝试这些:
//*[@type='radio'][@checked='checked']/
//*[@type='radio'][not(@checked='checked')]/