Вибір # select не веде себе так, як вручну вибирає параметри у вибраному списку

Якщо у мене HMTL таке:


і я обираю два варіанти:

browser.select.select "Saab"
browser.select.select "Audi"

обидва параметри вибрані:

browser.select.selected_options
=> ["Saab", "Audi"] 

Я очікував, що останній буде вибраний, як це було, коли я роблю те саме вручну.

=> ["Audi"] 

Це помилка?

Навколишнє середовище: Mac OS X 10.6.8, Firefox 7.0.1, ruby ​​1.9.2p290, селен-webdriver 2.10.0, watir-webdriver 0.3.5.

1

1 Відповіді

Не помилка, це тому, що це декілька виділених списків, і ви вибираєте два значення в послідовності (подібно до ручного використання кнопки "команда").

Якщо ви хочете просто встановити його, просто очистіть список між викликами:

browser.select.select "Saab"
browser.select.clear
browser.select.select "Audi"
3
додано
Питання в тому, чому він веде себе так, як я тримаю клавішу ctrl/cmd? Чому це не схоже на те, що ви натискаєте опцію вручну? (Скасувати вибір попередньої опції та вибрати новий.)
додано Автор Željko Filipin, джерело
Також, можливо, тому що ми не маємо простого способу зробити .control_click, отже, це, мабуть, найкраща альтернатива можливість робити багаточисельні варіанти, коли варіант для клавіатури, змінений клацанням миші, нелегко (якщо взагалі) доступний на момент у Ватирі.
додано Автор Chuck van der Linden, джерело
Я думаю, це зроблено для зручності, не маючи окремої команди для вибору кількох.
додано Автор anonygoose, джерело