Capybara:单击或选择<select> results中的选项,在下拉列表外单击

时间:2015-05-18 12:31:24

标签: selenium capybara

我用水豚和硒来解释我的问题: 我有一个选择与各种选项。我点击选择打开下拉列表,然后点击特定选项或我选择它,通过以下代码: 提出“选择订单合同?” 所有( “选择#contract_id”)[0]。点击 在所有(“select#contract_id”)[0]中   @order_name = all(“option”)[4] .text   @order_name = @ order_name.split [0]   所有( “选项”)[4]。点击 结束 所有( “选择#contract_id”)[0]。点击   在所有(“select#contract_id”)[0]中   所有( “选项”)[4] .select_option 结束 我甚至尝试过: 从“contract_id”中选择“@order_name” 有时它可以工作但有时候似乎我点击了下拉列表之外的某个地方,结果是没有选择任何选项。 有谁知道最可靠的技术? 卢卡

1 个答案:

答案 0 :(得分:0)

好的,我已经明白了

within all("select#contract_id")[0] do
  @order_name = all("option")[4].text
  all("option")[4].click
end
select @order_name, from: "contract_id"
@order_name = @order_name.split[0]

因某些无法解释的原因而产生了一些问题。但

within all("select#contract_id")[0] do
  @order_name = all("option")[4].text
end
select @order_name, from: "contract_id"
@order_name = @order_name.split[0]

工作正常