【发布时间】:2014-03-01 16:18:44
【问题描述】:
任何人都可以帮助我使用这个单选按钮,不要对此有任何想法。我需要用value="inside"检查一个元素
我的代码:
driver.FindElement(By.XPath("//[string(@value)='inside']")).Click();
失败并出现错误“无法评估 xpath 表达式或不会生成 WebElement” 使用 C# 和 IEdriver。
下面是 DOM:
<td colspan="3">
Fieldnames
<label>
<input name="labelPosition-step-1" type="radio" value="above" checked="checked">
Above
</label>
Or
<label>
<input name="labelPosition-step-1" type="radio" value="inside">
Inside
</label>
Or
<label>
<input name="labelPosition-step-1" type="radio" value="left">
Left
</label>
</td>
【问题讨论】:
-
您应该创建能够正确抓取元素的通用 xpath,并动态获取此类元素的值。如果您对 xpath 中的值进行具体说明,那么类似代码的行数将会增加。确保您的 xpath 已优化并由 Jens Erat 回答,这将是正确的 xpath,但此外,您还可以将两个属性的类型和值指定为
//input[@type='radio' and @value='inside']或只是检索所有无线电输入元素的//input[@type=radio],您可以获得值其中通过遍历driver.findElements实现的WebElements列表
标签: c# internet-explorer selenium xpath selenium-webdriver