我如何找到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,也许这就是为什么总是失败,有人知道如何处理它吗?
试试这个…
document.addEventListener("DOMContentLoaded", function (event) {
document.getElementById("ctl00_ContentPlaceHolder1_ucObservationSearch1_rblAdvancedSearch_1").checked = true;
});
driver.SwitchTo () .Frame("mainContent");