Невозможно нажать на кнопку радио с помощью Selenium C # - PullRequest
0 голосов
/ 27 марта 2019

Ниже приведен мой HTML-фрагмент моего приложения.Мой сценарий состоит в том, чтобы нажать на кнопку радио.Используемый xpath - //input[@id='authorizedContact1'], но я все еще не могу нажать кнопку радио.

HTML-код:

<div class="radio">
<input id="authorizedContact1" name="authorizedContactValue" class="authorizedContact" type="radio">
<label for="authorizedContact1">
::before ==$0
"YES"
::after
</label>
</div>

Вот мой код, который я использую в Selenium

WebDriverWait wait = new WebDriverWait(_driver, TimeSpan.FromSeconds(100));
            IWebElement element = wait.Until(ExpectedConditions.ElementIsVisible(By.XPath("//input[@id='authorizedContact1']")));
            element.Click();

Я использую XPATH как //input[@id='authorizedContact1'] Но все женевозможно нажать на кнопку радио, может кто-нибудь помочь мне в этом

1 Ответ

0 голосов
/ 28 марта 2019

Так как вам нужно Click() на элементе, вам нужно вызвать WebDriverWait для ElementToBeClickable(), и вы можете использовать любую из стратегий локатора :

  • CssSelector:

    new WebDriverWait(_driver, TimeSpan.FromSeconds(100)).Until(ExpectedConditions.ElementToBeClickable(By.CssSelector("label[for='authorizedContact1']"))).Click();
    
  • XPath:

    new WebDriverWait(_driver, TimeSpan.FromSeconds(100)).Until(ExpectedConditions.ElementToBeClickable(By.XPath("//label[@for='authorizedContact1']"))).Click();
    
...