Reputation: 11
I am looking for selenium code using java on how to select a particular radio button when multiple radio buttons are there in a form.
For one radio button it is Ok with selenium.click("radio1")
, but when in the above case
I.E., I am reading from excel sheet
Please help me in this regard
Upvotes: 1
Views: 10831
Reputation: 179
// get all the radio buttons by similar id or xpath and store in List
List<WebElement> radioBx= driver.findElements(By.id("radioid"));
// This will tell you the number of radio button are present
int iSize = radioBx.size();
//iterate each link and click on it
for (int i = 0; i < iSize ; i++){
// Store the Check Box name to the string variable, using 'Value' attribute
String sValue = radioBx.get(i).getAttribute("value");
// Select the Check Box it the value of the Check Box is same what you are looking for
if (sValue.equalsIgnoreCase("Checkbox expected Text")){
radioBx.get(i).click();
// This will take the execution out of for loop
break;
}
}
Upvotes: 0
Reputation: 32437
Use selenium.check("name=<name> value=<value>");
.
Note that <name>
is the same for all of the buttons, but <value>
will be different.
Upvotes: 1
Reputation: 63676
You can have multiple radio buttons with the same name. Therefore you will need to select either by an id attribute (which must be unique per element), or based on the value attribute (which I can only presume is different)... or by positional index (but this is a somewhat fragile approach)
e.g. use something like this
selenium.click("id=idOfItem");
selenium.click("xpath=//input[@value='Blue']");//select radio with value 'Blue'
Upvotes: 4