如何点击只有一个类名Selenium的单选按钮

时间:2016-10-14 17:39:02

标签: c# selenium radio-button

我正在尝试点击此单选按钮。

 <form id = "co-payment-form" class = "payment" action ="">
    <dt>
    <label class="radio" for="p_method_checkoutdotcom">
    <span class="radio__span">
    <i class="radio__icon"></i>
    </span>
    <span class="radio__title">Credit Card </span>
    </label>
    </dt>

我用代码来定位它:

  

IWebElement creditcardRadio = driver.FindElement(By.ClassName(&#34; radio__span&#34;));

我收到错误:

  

未处理的类型&#39; OpenQA.Selenium.WebDriverException&#39;发生在WebDriver.dll中附加信息:意外错误。元素不可点击(297.3999938964844,302.5)。其他元素会收到点击:<div class="loader loader--white-transparent loader--fixed"></div>

注意,此组中还有一些其他单选按钮。要查看它,只需填写此页面https://shop.adidas.ae/en/checkout/onepage/,直到您转到信用卡,Paypal或送货单选按钮

感谢您的帮助

2 个答案:

答案 0 :(得分:0)

根据错误描述,当您尝试单击它时,元素上方会显示“加载器”覆盖。 等待元素可点击,然后执行点击:

IWebElement element = new WebDriverWait(driver, TimeSpan.FromSeconds(30)).Until(ExpectedConditions.ElementToBeClickable(By.ClassName("radio__span")));
element.Click();

答案 1 :(得分:-1)

尝试使用动作。 移动到该元素,然后触发单击。应该这样做。

这样的事情: java中的 动作clickOnRadioButton = new Actions(驱动程序); clickOnRadioButton.moveToElement(driver.findElement(By.cssSelector( “i.radio__icon”))上单击()建立()执行(); ...