Щелкните флажок по значению Selenium

У меня есть Google, который немного пытается найти способ, которым вы можете щелкнуть флажки, введя значение, подобное тому, что вы можете использовать для выбора значений в раскрывающемся списке. Но пока не нашел способа.

У меня есть два флажка с Да и Нет

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']"}

Любые идеи советы?


person Dymond    schedule 14.12.2016    source источник


Ответы (1)


Это фрагмент кода в java. Вам нужно передать значение Да или Нет, чтобы выбрать соответствующий переключатель в качестве того же значения, которое используется для атрибута <input> тега value

public static void SelectOptions(String value)
{
   driver.findElement(By.xpath("//input[@value='"+value+"']")).click();
 }
person NarendraR    schedule 14.12.2016
comment
Кажется, что это должно работать, хотя и с этой ошибкой. Дополнительная информация: такого элемента нет: невозможно найти элемент: {method:xpath,selector://input[@value='NO']} - person Dymond; 14.12.2016
comment
Я считаю, что xpath чувствителен к регистру, поэтому NO не будет совпадать, вам нужно использовать No - person Josh; 14.12.2016