2016-12-14 4 views
0

Ich habe google ein bisschen versucht zu finden, wie Sie auf Kontrollkästchen klicken können, indem Sie einen Wert eingeben, ähnlich, was Sie verwenden können, um Werte in Dropdown-Liste auszuwählen. Aber habe noch keinen Weg gefunden.Klicken Sie auf Checkbox nach Wert Selenium

Ich habe zwei Kontrollkästchen mit Ja und Nein

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> 

Ich bin auch PageObjects verwenden,

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

Dies ist die Methode ich habe.

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

    } 

Nun, wenn im diesen Versuch

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

ich einen Fehler, dass es nicht das Element nicht finden

Zusätzliche Informationen: kein solches Element: Kann Element suchen: { "Methode": "xpath", "Selektor": "// Eingabe [@ Wert = 'NEIN']"}

Irgendwelche Ideentipps?

Antwort

2

Dies ist das Code-Snippet ist in Java. Sie müssen Wert zu übergeben entweder Ja oder Nein es wählt entsprechende Optionsfeld als der gleiche Wert verwendet für <input>-Attribut des -Tags value

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

es so scheint funktionieren sollte, diesen Fehler though. Weitere Informationen: kein solches Element: Element kann nicht gefunden werden: {"method": "xpath", "selector": "// Eingabe [@ Wert = 'NO']"} – Dymond

+2

Ich glaube, dass Xpath Groß-und Kleinschreibung ist "NEIN" stimmt nicht überein, Sie müssen "Nein" verwenden – Josh

+0

@Josh richtig! Das war das Problem !! Vielen Dank – Dymond

Verwandte Themen