2012-05-18 2 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 - это «элемент списка», который является своего рода контейнером, который используется для хранения вещей в неупорядоченном списке (тег UL). Внутри тех, что указаны в вашем HTML выше, вы имеете «ссылки», которые являются тегами A (Anchor). Якорные элементы - это то, что создает гиперссылки на гипертекстовой странице, что все просто называют «ссылками» для краткости, все, кроме людей, которые создали спецификации HTML, которые ... –

ответ

3

Может быть, попробуйте нажать на ссылку вместо элемента списка?

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

О, боже, что за черт Я думал? Мне удалось получить его с помощью xpath, но это намного лучше. –

+1

Я думаю, что у всех нас было «о, вау, правда?» момент или три! – anonygoose