尝试选择以下表单中的选项时,当我尝试通过NoSuchElementException
和select.selectByVisableText(" 85% - Text 1")
方法选择该选项时,我的脚本会抛出select.selectByValue("85")
。我知道页面上存在select元素,并且正确配置了css选择器,因为我可以使用select.getOptions()
转储选项。我可以通过select.selectByIndex(1)
选择值。
<select id="confidence" name="confidence">
<option value="100">100% - Text 0</option>
<option selected="" value="85"> 85% - Text 1</option>
<option value="75"> 75% - Text 2</option>
<option value="65"> 65% - Text 3</option>
<option value="50"> 50% - Text 4</option>
<option value="7"> 7% - Text 5</option>
<option value="0"> 0% - Text 6</option>
</select>
在Windows 8.1上使用Java 1.7,Firefox 31.0,Selenium 2.41.0和JUnit 4.11。
答案 0 :(得分:1)
作为一种解决方法,您可以通过以下方式选择for循环选项:
List[] options = select.getOptions();
for (int i = 0; i <= options.length - 1; i++) {
if (options[i].getValue().equals(" 85% - Text 1") {
select.selectByIndex(i);
}
}
但是如果你想解决问题,你应该检查以下几点:
更多信息可以帮助您解决这个问题而不是工作。 (示例代码)
p.s。:我没有对我的测试方法进行测试,但它应该有效......如果没有,请告诉我。