问题
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
回答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..
回答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 :-)
回答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']
回答4:
something like this may works:
//input[@checked='checked']/following-sibling::*[1][not(@checked='checked')]
回答5:
You can try these one:
//*[@type='radio'][@checked='checked']/
//*[@type='radio'][not(@checked='checked')]/
来源:https://stackoverflow.com/questions/11758616/xpath-to-determine-checkbox-checked-attribute-in-selenium-ide