2011-10-28 58 views
1

手動選擇選項。如果我有HMTL像這樣:select#選擇不表現得像在選擇列表

<select multiple="multiple"> 
    <option value="volvo">Volvo</option> 
    <option value="saab">Saab</option> 
    <option value="mercedes">Mercedes</option> 
    <option value="audi">Audi</option> 
</select> 

,我選擇兩個選項:

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,selenium-webdriver 2.10.0,watir-webdriver 0.3.5。

回答

3

不是一個錯誤,這是因爲它是一個多選列表,並且您按順序選擇了兩個值(類似於手動使用「命令」單擊)。

如果你想只設置一個,只需清除調用之間的名單:

browser.select.select "Saab" 
browser.select.clear 
browser.select.select "Audi" 
+0

的問題是:爲什麼會表現得就像我按住Ctrl鍵/ Cmd鍵?爲什麼它不像手動點擊選項時那樣? (取消選擇上一個選項,然後選擇新選項。) –

+0

我想象它是爲了方便而完成的,不需要單獨的命令來選擇多個。 – anonygoose

+0

也可能因爲我們沒有一個簡單的方法來做一個.control_click,所以這可能是最好的選擇,當鍵盤修改鼠標點擊的選項不容易(如果有的話)可以訪問時,能夠做多選擇在Watir的那一刻。 –