我如何找到radio的输入元素并检查它?总是“找不到元素”

本文关键字:元素 总是 找不到元素 找不到 检查 何找 radio 输入 | 更新日期: 2023-09-27 18:05:13

我正在学习硒与c#,我试图得到一个输入元素的无线电,但总是"无法找到元素"

 <div>
<span id="ctl00_ContentPlaceHolder1_ucObservationSearch1_rblAdvancedSearch" class="radioListOptions">
<input id="ctl00_ContentPlaceHolder1_ucObservationSearch1_rblAdvancedSearch_0" type="radio" checked="checked" value="My" name="ctl00$ContentPlaceHolder1$ucObservationSearch1$rblAdvancedSearch">
<label for="ctl00_ContentPlaceHolder1_ucObservationSearch1_rblAdvancedSearch_0">My</label>
<br>
<input id="ctl00_ContentPlaceHolder1_ucObservationSearch1_rblAdvancedSearch_1" type="radio" onclick="javascript:setTimeout('__doPostBack(''ctl00$ContentPlaceHolder1$ucObservationSearch1$rblAdvancedSearch$1'','''')', 0)" value="Workgroup" name="ctl00$ContentPlaceHolder1$ucObservationSearch1$rblAdvancedSearch">
<label for="ctl00_ContentPlaceHolder1_ucObservationSearch1_rblAdvancedSearch_1">Workgroup</label>
<br>
<input id="ctl00_ContentPlaceHolder1_ucObservationSearch1_rblAdvancedSearch_2" type="radio" onclick="javascript:setTimeout('__doPostBack(''ctl00$ContentPlaceHolder1$ucObservationSearch1$rblAdvancedSearch$2'','''')', 0)" value="Division" name="ctl00$ContentPlaceHolder1$ucObservationSearch1$rblAdvancedSearch">
<label for="ctl00_ContentPlaceHolder1_ucObservationSearch1_rblAdvancedSearch_2">Division</label>
</span>
</div>

我试过了

 ReadOnlyCollection<IWebElement> links1 = driver.FindElements(By.XPath("//input[contains(text(),'Workgroup')]"));
 ReadOnlyCollection<IWebElement> links1 = driver.FindElements(By.XPath("//input[contains(@value,'Workgroup')]"));
 IWebElement check =    driver.FindElement(By.Id("ctl00_ContentPlaceHolder1_ucObservationSearch1_rblAdvancedSearch_1"));

和我也尝试过在控制台使用javascript

document.getElementById("ctl00_ContentPlaceHolder1_ucObservationSearch1_rblAdvancedSearch_1").checked=true

return "TypeError: document.getElementById(…)is null"我实在想不出办法了,需要一些帮助,谢谢。

我发现在这个html中还有一个html,也许这就是为什么总是失败,有人知道如何处理它吗?

我如何找到radio的输入元素并检查它?总是“找不到元素”

试试这个…

 document.addEventListener("DOMContentLoaded", function (event) {
          document.getElementById("ctl00_ContentPlaceHolder1_ucObservationSearch1_rblAdvancedSearch_1").checked = true;
      });

driver.SwitchTo () .Frame("mainContent");