我有一个HTML页面,其格式如下:
<select id="name_list">
<optgroup label="env1">
<option value="comp1">comp1 details</option>
</optgroup>
<optgroup label="env2">
<option value="comp1">comp1 details</option>
</optgroup>
</select>然后尝试点击value=comp1选项,这是在optgroup-env2 2内部。有任何方法来指定此路径吗?请注意,两个“选项”值在不同的“optgroup”节点下完全相同.
非常感谢!
发布于 2013-09-13 11:18:15
您可以像任何其他元素一样定位optgroup。然后,您可以在该组中搜索您的选项。
browser.optgroup(:label =>'env2').option(:value => 'comp1').select更新-它看起来有一个错误在watir-中,阻止了上面的工作。
在为标签创建定位器时,watir-webdriver调用以下方法
def should_use_label_element?
@selector[:tag_name] != "option"
end对于optgroup,这将返回false,这意味着watir会去寻找相关的label元素(而不是检查属性)。
作为临时解决办法,您可以使用css:
browser.element(:css => 'optgroup[label="env2"]').option(:value => 'comp1').select已为此问题创建了一个bug (请参阅第219期)。
https://stackoverflow.com/questions/18783701
复制相似问题