水豚,从下拉菜单中选择第一个选项?

msm*_*114 2 selenium cucumber capybara

我已经进行了搜索,并且大多数相关的google结果都已返回,通常是从下拉菜单中选择一个元素。但是,不幸的是,在这种情况下,下拉列表中元素的ID是动态生成的。

这是针对基本测试用例的,因此我基本上只需要选择第一个。下拉菜单中的元素文本也相同(不确定是否有帮助)。

有这样的例子吗?

即时通讯使用黄瓜与caybara(使用硒驱动器)集成

Jus*_* Ko 5

您可以找到第一个选项元素,然后使用该select_option方法将其选中。

例如,如果选择列表的标识为“ select_id”,则可以执行以下操作:

first('#select_id option').select_option
Run Code Online (Sandbox Code Playgroud)

正如@TomWalpole提到的那样,这不会等待元素出现。执行以下操作之一会更安全:

first('#select_id option', minimum: 1).select_option
Run Code Online (Sandbox Code Playgroud)

要么

find('#select_id option:first-of-type').select_option
Run Code Online (Sandbox Code Playgroud)

  • 注意 - 默认情况下 first 不会等待元素出现在页面上 - 你可能想要先做 ('#select_id option', minimum: 1).select_option 如果这是访问页面后的第一个操作 (2认同)