选择selenium中的单选按钮c#

时间:2017-01-17 07:58:51

标签: c# selenium xpath

我是XPath和CssSelector的新手。

以下是目标html来源。

<input value="1" name="uji.model.611876.button" type="radio"></input>

611876 是一个随机数。

我尝试了代码:

driver.FindElement(By.Id("//input[@value=\"1\"]")).Click();

driver.FindElement(By.Id("//input[@value='1']")).Click();

无法找到元素错误。

我需要帮助解决这种情况。谢谢你的阅读。

3 个答案:

答案 0 :(得分:5)

如果您ElementNotVisibleException尝试等待一段时间,直到目标input变为可见:

WebDriverWait wait = new WebDriverWait(driver, TimeSpan.FromSeconds(15));
IWebElement element = wait.Until(ExpectedConditions.ElementIsVisible(By.XPath("//input[starts-with(@name, \"uji.model.\")][@type=\"radio\"]")));
element.Click();

答案 1 :(得分:0)

您可以执行类似

的操作
driver.findElement(By.tagName("input")).Click();

答案 2 :(得分:0)

如果导致问题,您可以尝试JavascriptExecuter执行javascript代码 -

IWebElement element= driver.FindElement(By.XPath("//input[@value=\"1\"]")));
IJavaScriptExecutor js = driver as IJavaScriptExecutor;
js.ExecuteScript("arguments[0].click();", element);