Arrays 鲁比和瓦蒂尔;从属性中没有“禁用”的“选择”列表中随机选择选项

Arrays 鲁比和瓦蒂尔;从属性中没有“禁用”的“选择”列表中随机选择选项,arrays,ruby,watir-webdriver,Arrays,Ruby,Watir Webdriver,运行Watir测试,我希望从select_列表元素中选择一个随机值。默认情况下,其中一个选项的属性disabled value=true 目前,我将所有选项放入如下数组: @browser.select_list(:class, 'preset-select').options.to_a.sample.click 通常,这在选择单个选项时有效,但我偶尔会遇到一个问题,即它试图单击禁用的对象 如何进行验证以确保返回的对象不是已禁用的对象?您可以将选项列表筛选为已启用的选项: enabled_op

运行Watir测试,我希望从select_列表元素中选择一个随机值。默认情况下,其中一个选项的属性disabled value=true

目前,我将所有选项放入如下数组:

@browser.select_list(:class, 'preset-select').options.to_a.sample.click
通常,这在选择单个选项时有效,但我偶尔会遇到一个问题,即它试图单击禁用的对象


如何进行验证以确保返回的对象不是已禁用的对象?

您可以将选项列表筛选为已启用的选项:

enabled_options = @browser.select_list(:class, 'preset-select').options.select(&:enabled?)
enabled_options.sample.click

隐马尔可夫模型。。。。我得到一个错误,说启用?是Watir::Option的未定义方法。我运行的是一个较旧版本的watir webdriver,这可能是个问题吗?你使用的是什么版本?我不记得什么时候启动的?方法已添加。我是否已启用v0.6.11.0?添加到v0.9.0中。对于v0.6.11,请尝试@browser.select_列表:类,“预设选择”.options.select{o |!o.disabled?}