使用Selenium在optgroup上选择选项

问题描述:

我试图在select元素中选择一个值。我使用Selenium RC(Java)来运行测试用例。据我所知,选择值的代码由以下公式给出:使用Selenium在optgroup上选择选项

selenium.select("locator", "value=REQUIRED VALUE") 

我无法使用上面的代码选择所需的值。我认为这可能与选择源代码中的optgroup有关。我没有得到任何异常,命令执行得很好,但查看页面中没有选择所需的值。 此外,我不能使用ID(而不是价值),因为没有任何。这里是选择器的源代码:

<select> 
    <optgroup label="Group1"> 
     <option value="13">some value1</option> 
     <option value="25">some value2</option> 
    </optgroup> 
    <optgroup label="Group2"> 
     <option value="18">REQUIRED VALUE</option> 
     <option value="34">some value3</option> 
     ... 
     ... 
    </optgroup> 
</select> 

有什么方法可以使用Selenium来选择所需的值吗?

如果我们可以避免选项值(如“18”,“34”等),这将是很好的,因为随着值的变化,这些数字会随之改变。例如,“需求值”的值为-18,但如果我要删除此项并再次添加,它的值将会不同。基本上这个下拉框是动态的。

您示例中所需选项的值实际上是'18'。请尝试以下操作:

selenium.select("locator", "label=REQUIRED VALUE") 
+0

Hi Dave, 感谢您的回复。但是你认为除了使用18还有另一种方式吗?下拉列表中的内容在我的应用程序中发生变化,数字也随之变化。换句话说,现在它的显示,但它可以是任何数字。即使我多次运行测试,这些数字也会改变。你有什么其他想法可以做什么?同时我也会更新这个评论。 谢谢, Mugen – Mugen 2009-09-28 12:50:08

+1

再次检查我的答案。我建议将'value ='改为'label ='。这使您可以根据标签而不是其值选择选项。 – 2009-09-28 13:16:27

+1

感谢您的回答。它与标签完美结合! – Mugen 2009-09-29 08:00:57