2016-12-14 84 views
0

我有谷歌周围有点试图找到某种方式,您可以通过输入一个值,类似的东西,你可以用来选择下拉列表中的值点击复选框。 但还没有找到方法。点击价值Selenium的复选框

我有是两个复选框,并没有

div class="radio"> 
<label> 
    <input type="radio" name="LongTermContract" value="Yes" autocomplete="off" checked="">Yes 
</label> 
<label> 
<input type="radio" name="LongTermContract" value="No" autocomplete="off">No        </label>       
</div> 

我还使用PageObjects,

[FindsBy(How = How.Name, Using = "LongTermContract")] 
public IWebElement radioBtnLongTermContract { get; set; } 

这是我的方法。

public static void SelectOptions(this IWebElement element, string value) 
    { 
     PropertiesCollection.driver.FindElement(By.XPath("//input[@value='" + value + "']")).Click(); 

    } 

现在,如果我尝试这个

public void SelectValue(){ 
    Reporting("NO"); 
    } 

我得到一个错误,它没有找到元素

附加信息:没有这样的元素:找不到元素: { “method”:“xpath”,“selector”:“// input [@ value ='NO']”}

任何想法提示?

回答

2

这是java中的代码片段。你需要传递值或者没有将选择相应的单选按钮用于<input>标记的属性value

public static void SelectOptions(String value) 
{ 
    driver.findElement(By.xpath("//input[@value='"+value+"']")).click(); 
} 
+0

看起来这应该工作,但收到这个错误的值相同。 附加信息:没有这样的元素:无法找到元素:{“method”:“xpath”,“selector”:“// input [@ value ='NO']”} – Dymond

+2

我相信xpath是区分大小写的,所以“NO”不匹配,您需要使用“否” – Josh

+0

@Josh正确!这是问题!谢谢 – Dymond