2012-05-18 12 views
1

我想選擇的東西時,鍵入該顯示的建議列表的文本框的值,我已經試過:的Watir和文本字段的自動完成列表

$browser.li(:xpath, "//div[@id='question1']/div/div[2]/input").select 'Value 1' 
$browser.li(:text, /Value/).select 
$browser.li(:text, /Value/).click 

有了這一個我得到的名單顯示當我設置的文本字段中輸入字符串:

$browser.text_field(:name => 'choice').set("Value") 

,我要儘量選擇與這一個值:

$browser.li(:text, /Value/).when_present.click 

但似乎沒有我可以設法讓瀏覽器顯示列表,但我需要從列表中選擇一個值。任何想法?

下面是列表的HTML的一個例子,當它被顯示:

<ul class="ui-autocomplete" role="listbox"> 
    <li class="ui-menu-item" role="menuitem"><a class="ui-corner-all" tabindex="-1">Value 1</a></li> 
    <li class="ui-menu-item" role="menuitem"><a class="ui-corner-all" tabindex="-1">Value 2</a></li> 
    <li class="ui-menu-item" role="menuitem"><a class="ui-corner-all" tabindex="-1">Value 3</a></li> 
</ul> 
+0

你可能不得不解僱JavaScript事件:http://stackoverflow.com/questions/3787555/how-to-find-out-which-javascript-events-fired –

+0

僅僅是明確的(因爲有很多的人常常被這個混淆),LI標籤是一個「List Item」,它是一種容器元素,用於將東西放入Un-ordered List(UL標籤)中。在上面的HTML中,你有'鏈接'是A(錨)標籤。錨元素是在「超文本」網頁中創建「超級鏈接」,簡而言之,每個人都稱之爲「鏈接」,除了創建HTML規範的人之外的每個人都是.. –

回答

3

也許嘗試點擊該鏈接,而不是列表項?

$browser.link(:text, /Value/).when_present.click 
+0

哦,上帝,什麼我剛在想?我設法用xpath獲得它,但那個更好。 –

+1

我想我們都有過「哦,真的嗎?」一剎那或三個! – anonygoose

相關問題