Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在C中使用XPath选择单选按钮#_C#_Selenium_Xpath_Selenium Webdriver_Radio Button - Fatal编程技术网

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

C# 在C中使用XPath选择单选按钮#,c#,selenium,xpath,selenium-webdriver,radio-button,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="Sear

我正在尝试使用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>

患者姓名/患者出生日期

我的命令找不到选择/单击它的按钮。任何建议都会非常有用。

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

//input[contains(@id, 'SearchTypePatientNameDob')]
请注意,我看不到任何合理的理由为什么您不使用简单的
By.Id
定位器:

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

您可能还需要明确说明。

@Rinktacular好的,可能有多种原因。首先,您是否在页面上看到任何iframe/frame元素?谢谢。@rinktagular我还添加了一个指向答案的链接,提供了等待元素出现的方法。@rinktagular是的,如果元素在iframe中,为了定位元素,您需要使用
驱动程序切换到
iframe
。switch to().Frame()
@rinktagular不,
驱动程序。switch to().Frame()(“childFrame”);
@rinkTaguar它是页面上唯一的iframe吗?如果是,您可能需要等待此iframe元素出现在DOM中(请按照答案中的链接进行操作)。谢谢。