ruby - Watir 和文本字段自动完成列表

标签 ruby xpath 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>

最佳答案

也许尝试单击链接而不是列表项?

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

关于ruby - Watir 和文本字段自动完成列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10653581/

相关文章:

javascript - Ruby on Rails : At what point do you write raw javascript instead of using rjs templates?

ruby-on-rails - 使用 Ruby 别名扩展 Gem

html - 如何在CSS页脚中定位元素

internet-explorer - 使用 Watir 测试不同版本的 IE

arrays - ruby 字母数字排序未按预期工作

Ruby NoMethodError(未定义方法 '' .. .' for ' .... :Class'

xpath - 在javascript中获取元素的xpath

xml - 从 xmlstarlet 输出中删除命名空间

使用 Scrapy 进行 Python 递归抓取

ruby cucumber 在多个浏览器上进行测试