Xpath确定Selenium IDE中的复选框“已检查”属性

时间:2012-08-01 11:53:08

标签: xpath selenium selenium-ide

如何确定是否通过xpath检查复选框

目前我正在尝试:

//input[@type='checkbox' and @checked='true')]

我有多个具有相同ID的复选框,因此我必须选择未选中/选中的下一个复选框。

具体来说,我需要这个用于Selenium IDE

修改 我真正需要的是......:

|storeXpathCount | //input[@name='xyz' and @checked='checked'] | is_checked | 

如果选中复选框'xyz',则is_checked值应为1,否则为0

谢谢

5 个答案:

答案 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)

enter image description here

此处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')]/