上面的图片显示了选择列表,但实际上不是选择列表,它由'Input'标签组成,因此我尝试使用b.text_field.set(“ argentina”)设置值,但它仅聚焦(颜色变为黄色)但是它没有设置值,我该怎么做?
该选择列表的代码如下
<div class="v-filterselect v-widget v-has-width v-filterselect-prompt" role="combobox" style="width: 100%;">
<input tabindex="0" class="v-filterselect-input" id="gwt-uid-17" aria-labelledby="gwt-uid-16" style="width: 100%;" type="text" autocomplete="nope">
<div class="v-filterselect-button" role="button" aria-hidden="true">
</div>
</div>
问题在于,Watir-Classic设置该值后会调用模糊事件。由于未从下拉列表中选择一个值,因此Vaadin会将其视为无效输入,并将其重置为“未选择国家/地区”。手动与组合框交互时,您会看到相同的行为:
要填充该字段,您需要从下拉列表中选择一个项目。即使清除了输入字段,下拉菜单也仍然存在(至少在Watir-Classic做到这一点时)。结果,我们可以选择一个项目而无需额外的工作。
这是使用Vaadin演示页面的示例:
require 'watir-classic'
browser = Watir::Browser.new
browser.goto('http://demo.vaadin.com/sampler/#ui/data-input/multiple-value/combo-box')
country = 'ARGENTINA'
browser.text_field(aria_labelledby: 'gwt-uid-16').when_present.set(country)
browser.div(id: 'VAADIN_COMBOBOX_OPTIONLIST').span(text: country).when_present.click
请注意,这将不会复制用户与字段进行交互时生成的确切事件。但是,如果您仅使用控件而不是测试字段(即Vaadin开发人员),则可能就足够了。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句