2015-12-14 30 views
0

我是Selenium的新手,想要在一组标签中选择RadioButton,请参阅屏幕截图。问题是,所有<input>元素具有相同的名称!所以我必须通过值(或标签文本?)来选择它们...Selenium:通过值(或标签文本)在Label中选择RadioButton

我正在使用Selenium的Java API。

enter image description here

**作为HTML **

<table width="100%" border="1"> 
... 
<label> 
<input type="radio" name="AktarmaSekli" value="SP" checked class="radio" onclick="_doClick('$Refresh', this, '_self', '#_RefreshKW_AktarmaSekli')">Sipariş Planı</label><br> 
<label> 
<input type="radio" name="AktarmaSekli" value="DF" class="radio" onclick="_doClick('$Refresh', this, '_self', '#_RefreshKW_AktarmaSekli')">DAG Fatura Bilgileri</label><br> 
<label> 
<input type="radio" name="AktarmaSekli" value="ATR" class="radio" onclick="_doClick('$Refresh', this, '_self', '#_RefreshKW_AktarmaSekli')">ATR Bilgileri</label><br> 
<label> 
<input type="radio" name="AktarmaSekli" value="AITM" class="radio" onclick="_doClick('$Refresh', this, '_self', '#_RefreshKW_AktarmaSekli')">AİTM Bilgileri</label><br> 
<label> 
<input type="radio" name="AktarmaSekli" value="COC" class="radio" onclick="_doClick('$Refresh', this, '_self', '#_RefreshKW_AktarmaSekli')">CoC Bilgileri</label><br> 
<label> 
<input type="radio" name="AktarmaSekli" value="Bakim" class="radio" onclick="_doClick('$Refresh', this, '_self', '#_RefreshKW_AktarmaSekli')">Bakım Faturaları</label><br> 
<label> 
<input type="radio" name="AktarmaSekli" value="AF" class="radio" onclick="_doClick('$Refresh', this, '_self', '#_RefreshKW_AktarmaSekli')">Araç Bilgileri</label></td></tr> 
</table> 
+0

嗨,图像被阻挡..你可以粘贴添加了HTML我的HTML代码.. –

+0

... –

回答

1

好知道你有解决方案..下面一个还可以帮助..

如果你想点击特定的按钮,如果它的价值说“ATR”你可以建立的XPath(或css选择器)简单地//输入[@值='ATR']或/ /输入[包含(文本(),'ATR Bilgileri')]

off- course其他方式也有找到所需的元素..

谢谢, Murali

0

我得到了它与下面的代码工作!

private void selectRadioButtonByValue(WebDriver driver, String radioGroupName, String valueToFind) { 
    List<WebElement> radioGroup = driver.findElements(By.name(radioGroupName)); 
    for (int i = 0; i < radioGroup.size(); i++) { 
     if(radioGroup.get(i).getAttribute("value").equals(valueToFind)) { 
      radioGroup.get(i).click(); 
      return; 
     } 
    } 
    throw new org.openqa.selenium.NotFoundException("Element wasn't found by value!"); 
} 
0

在页面对象模式将是:

@FindBy(xpath = "//*[contains(text(),'ATR Bilgileri')]") 
WebElement radioATR; 
相关问题