我有一个页面对象,其中包含一个位置列表项。
select_list(:locations, :id => 'locations)
我希望有一个位置列表,然后选择其中一个。 类似的东西:
def select_item_different_than d_item
list_items = :locations.items #This is wrong, but you get the point
list_items.each do |item|
if item != d_item
item.select
return
end
end
end
非常感谢:)
答案 0 :(得分:1)
选择列表元素具有options
方法,该方法返回其选项元素的数组。您可以迭代数组并将它们与d_item
进行比较。
方法可以是:
def select_item_different_than d_item
list_items = locations_element.options
list_items.each do |item|
if item.text != d_item
item.click
return
end
end
end
请注意,需要进行以下更改:
locations_element
而不是:locations
检索。options
而不是items
检索。item != d_item
已更改为item.text != d_item
。我的假设是你要比较选项的文本,而d_item
是一个字符串。select
方法。相反,请使用click
方法。就个人而言,我认为该方法可能更清晰:
def select_item_different_than d_item
locations_element
.options
.find{ |option| option.text != d_item }
.click
end