Selenium 水豚:单击或从结果中选择选项,然后在下拉列表外单击

Selenium 水豚:单击或从结果中选择选项,然后在下拉列表外单击,selenium,capybara,Selenium,Capybara,我解释了水豚和硒的问题: 我有很多选择。我单击“选择”打开下拉列表,然后单击特定选项或通过以下代码选择它: puts "Select contract for order?" all("select#contract_id")[0].click within all("select#contract_id")[0] do @order_name = all("option")[4].text @order_name = @order_name.split[0] all("option

我解释了水豚和硒的问题:

我有很多选择。我单击“选择”打开下拉列表,然后单击特定选项或通过以下代码选择它:

puts "Select contract for order?"
all("select#contract_id")[0].click
within all("select#contract_id")[0] do
  @order_name = all("option")[4].text
  @order_name = @order_name.split[0]
  all("option")[4].click
end
all("select#contract_id")[0].click
  within all("select#contract_id")[0] do
  all("option")[4].select_option
end
我甚至试过:

select "@order_name", from "contract_id"
有些时候它可以工作,但有些时候,如果我点击了下拉列表之外的某个地方,结果是没有选择任何选项

有人知道最可靠的技术吗


卢卡

好的,我明白了

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]
很好