水豚找不到下拉菜单 (Capybara/Rspec)

Capybara cannot find dropdown (Capybara/Rspec)

我知道有很多这类问题,但我已经尝试了一些解决方案,但都没有成功。

这是下拉列表的来源:

<select style="display: none;" name="Select_Company" id="Select_Company" class="company-list-select">

下面是一些普通的选项值:IE:

<option value="2">Generic Company</option>

(当然重复了)

所以这是我尝试过的:

select('GenericCompany', :from => 'Select_Company')
select('Select_Company')select('Generic Company', :from => 'Select_Company')

我也试过了(我想这不起作用,因为 "Please select a company" 文本在技术上是一个选项:

select 'ACME', from: "Please Select a Company"

所有这些都会导致无法找到元素错误。有任何想法吗?我不太确定要尝试什么。

这是使用 Capybara 和 Rspec,其余代码都很好,因为它可以工作到这里(我们从下拉列表转到 select 的地方)。我唯一觉得奇怪的是(我没有写这个网站)是在 selected 之后,下拉菜单 class 转到这个:

<div id="Select_Company_chosen" title="" style="width: 100%;" class="chosen-container chosen-container-single"><a class="chosen-single" tabindex="-1"><span>Please Select a Company</span><div><b></b></div></a><div class="chosen-drop"><div class="chosen-search"><input autocomplete="off" type="text"></div><ul class="chosen-results"><li data-option-array-index="0" style="" class="active-result result-selected">Please Select a Company</li><li data-option-array-index="1" style="" class="active-result">

查看您的 select 它有 "style=display: none" 这表明它在页面上不可见。我假设它在页面上已被 JS 驱动的小部件替换,您的最后一行似乎显示了该小部件。因此,您不能只使用 select(它仅适用于真正可见的