Xpath to determine checkbox "checked" attribute in Selenium IDE
Solution 1
Here stnewrecord
is class of check-box.
Script will store number of check-box, and according to that loop will follow.
It will check whether check-box is checked or not if not it will check else move to next step.
xpath=(//input[@class='stnewrecord'])[${i}]
This is xpath of check-box. 'i' is position, it will increase on each iteration.
Let me know whether its working for you or not..
Solution 2
The xpath
// Xpath, only works in certain situations
//input[@type='checkbox' and @checked='xyz']
only works if in the HTML source of the checkbox there is an attribute as follows
checked="xyz"
where the developer is free to replace "xyz" with anything: "true", "checked", "ischecked", ...
So if there is no such attribute, the above mentioned xpath does not work.
While waiting for more insight, you might consider using a CSS selector, which does not depend on such an attribute:
// 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']
Note that without
[type='checkbox']
you will be given also radios :-)
Solution 3
However, there are solution without using css classes and selectors.
Use
//input[@type='checkbox' and @checked]
or
//input[@type='checkbox' and not(@checked)]
instead of
//input[@type='checkbox' and @checked='xyz']
Comments
-
sakhunzai almost 2 years
How to determine if a checkbox is check or not through xpath
Currently I am trying :
//input[@type='checkbox' and @checked='true')]
I have multiple checkboxes with same ids so I have to select the next checkbox which is not selected/checked.
Specifically I need this for Selenium IDE
Edit what I actually need is sth like :
|storeXpathCount | //input[@name='xyz' and @checked='checked'] | is_checked |
if checkbox 'xyz' is checked , is_checked value should be 1 else 0
thanks