2012-05-18 18 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

相关问题