javascript - 我如何找到 radio 的输入元素并检查它?总是 "Unable to find element "

标签 javascript c# html

我正在用c#学习selenium,我试图获取 radio 的输入元素,但总是“无法找到元素”

 <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

返回“类型错误:document.getElementById(...) 为空” 我没有更多解决方案,我需要一些帮助,谢谢

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

最佳答案

试试这个..

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

      });

关于javascript - 我如何找到 radio 的输入元素并检查它?总是 "Unable to find element ",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39287096/

相关文章:

C# Generic ToString Join if Array or IEnumerable

javascript - 如何使 jQuery 代码不适用于已登录的 Wordpress 用户?

c# - 单例 Apache Thrift 客户端是否优于多个客户端实例?

c# - 根级别的数据无效。第 1 行,位置 1 MonoTouch

jquery - 固定标题问题 - addClass 在页面加载时不起作用

html - TAG <a> 打不开链接

javascript - 使用 JS 或 CSS 检测 iOS 设备是否有 home bar

javascript - 如何将 JSON 转换为另一个 JSON

javascript - <audio> </audio>,IE8和 “Object doesn'不支持此属性或方法”

javascript - 使用Spring,我需要将动态数据传入html来构建网页