c# - 在C#中使用XPath选择单选按钮

标签 c# selenium xpath selenium-webdriver radio-button

我正在尝试使用XPath命令选择特定的单选按钮:

driver.FindElement(By.XPath("//td[contains(@input id,   'SearchTypePatientNameDob')]")).Click();


包含我想要的按钮的列表如下:

<tr>
    <td>
    <input id="RadioButtonSearchTypePatientNameDob" type="radio"      value="SearchTypePatientNameDob" name="SearchType">
    <span class="Instructions">Patient Name / Patient Date of Birth</span>
    </td>
</tr>


我的命令找不到要选择/单击的按钮。任何建议将大有裨益。

最佳答案

您需要找到input元素,而不是td元素:

//input[contains(@id, 'SearchTypePatientNameDob')]


请注意,我看不到任何合理的原因,为什么您不使用简单的By.Id定位器:

driver.FindElement(By.Id("RadioButtonSearchTypePatientNameDob")).Click();


您可能还需要显式wait for the element to be present

关于c# - 在C#中使用XPath选择单选按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30463170/

相关文章:

java - Selenium - 如何在高频刷新网页上正确获取元素

php - 仅显示带有SimpleXMLElement的第一个对象

c# - 无需缩进的 WPF TreeView

c# - Web Api 帮助页面 - 只显示一些 Controller 而不显示其他 Controller

selenium:selenium 是 RESTful 服务吗?

c# - 如何使用 fn :max in SelectSingleNode

XPath text() 表达式 - 如果包含换行符,则在 text() 中指定什么

c# - 为什么计时器滴答事件连续调用该方法两次而不是每次10秒后调用该方法?

c# - 如何检查事件处理程序是否已注册

大型 json 数据下载后,Selenium Driver 落后于 ajax 调用一页