Ruby 水豚数据列表选择不可见

Ruby 水豚数据列表选择不可见,ruby,cucumber,capybara,Ruby,Cucumber,Capybara,我有以下HTML代码段: <input type="text" id="manufacturer" list="manufacturers" placeholder="Search by manufacturer name or supplier code" class="form-control form-control-2-3" value="" name="manufacturer"> <datalist id="manufacturers"> &l

我有以下HTML代码段:

<input type="text" id="manufacturer" list="manufacturers" placeholder="Search by manufacturer name or supplier code" class="form-control form-control-2-3" value="" name="manufacturer">


 <datalist id="manufacturers">
     <select>
      <div>
       <option value="Jaguar">AA</option>
       <div></div>
      </div>
      <div>
       <option value="Audi">AB</option>
       <div></div>
      </div>
     <div>
       <option value="Mercedes">AC</option>
       <div></div>
     </div>
     </select>
    </datalist>
有人对如何选择这些选项有什么建议吗


谢谢。

您正在尝试的操作目前不可能,因为它实际上不是下拉选择元素。选项元素在页面上永远不会实际可见,因为标准规定“在呈现中,datalist元素不表示任何内容,它及其子元素应该隐藏。”——。相反,datalist中的任何元素都只是用作输入元素的自动填充建议(但实际上不要限制用户可以以任何方式输入的值)。因此,由于datalist用户可以在输入元素中键入他们想要的任何内容,因此您可以像任何其他文本输入一样设置输入值

fill_in("manufacturer", with: 'Jaguar')

您正在尝试的操作目前不可能,因为它实际上不是下拉选择元素。选项元素在页面上永远不会实际可见,因为标准规定“在呈现中,datalist元素不表示任何内容,它及其子元素应该隐藏。”——。相反,datalist中的任何元素都只是用作输入元素的自动填充建议(但实际上不要限制用户可以以任何方式输入的值)。因此,由于datalist用户可以在输入元素中键入他们想要的任何内容,因此您可以像任何其他文本输入一样设置输入值

fill_in("manufacturer", with: 'Jaguar')


这是一个非常有趣的问题,您的整个数据列表都处于隐藏模式,当我单击文本_字段时,列表会弹出,但selenium仍然没有检测到此列表可见,这就是为什么出现此错误的原因。这是一个pickle。它不是我尝试了所有可能的方法,我不知道如何与此元素交互,也许这可以通过activebuilder实现,但我不知道如何实现!嗨,如果你不是我的,你能加上标签吗?人们可能会来回答你的问题。你能吗?如果你用水豚去和水豚标记一起,如果你用水豚去和水豚标记一起--它们是互斥的工具添加两个标记只会让人困惑这是一个非常有趣的问题,你的整个数据列表处于隐藏模式,当我点击文本字段时,列表正在弹出,但selenium仍然没有检测到此列表可见,这就是为什么出现此错误。这是一个pickle,不是它。我尝试了所有可能的方法,我不知道如何与此元素交互,也许这可以通过activebuilder实现,但我不知道如何实现!嗨,如果你不是我的,你能加上标签吗?人们可能会来回答你的问题。你能吗?如果你用水豚和水豚标签,如果你用watir和watir标签,它们是互斥的工具,添加两个标签只会让人困惑,希望这会有所改变。谢谢,Tom。在建议的w3c规范webdriver中(截至今天),人们认识到处理显示性尤其具有挑战性()。也就是说,从理论上讲,选项标记作为select标记的后代,不应被评估为模糊()。我不确定为什么
datalist
的出现会使这种行为有所不同(尽管在本例中显然是这样)。我在Firefox上尝试了这个例子(它试图完全兼容w3c),但我甚至无法在浏览器中正确显示它,甚至无法尝试使用驱动程序。因此,也许这应该被记录为Firefox错误,看看Mozilla是否同意改变这种行为。@titusfortner链接到文本输入的数据列表与带有嵌套选项元素的select完全不同。它实际上只是提供自动填充建议,用户不能单击实际的选项元素。@Tom FYI-有一个PR-允许您使用数据列表输入的
select
。假设它没有任何不可预见的副作用,它可能最终会出现在Capybara 3.1中-在此之前,您可以从
datalist
分支尝试它。它最后只是做了一个
填充
,但验证了该选项之前是否在数据列表中。好的,希望这可能会有所改变。谢谢,Tom。在建议的w3c规范webdriver中(截至今天),人们认识到处理显示性尤其具有挑战性()。也就是说,从理论上讲,选项标记作为select标记的后代,不应被评估为模糊()。我不确定为什么
datalist
的出现会使这种行为有所不同(尽管在本例中显然是这样)。我在Firefox上尝试了这个例子(它试图完全兼容w3c),但我甚至无法在浏览器中正确显示它,甚至无法尝试使用驱动程序。因此,也许这应该被记录为Firefox错误,看看Mozilla是否同意改变这种行为。@titusfortner链接到文本输入的数据列表与带有嵌套选项元素的select完全不同。它实际上只是提供自动填充建议,用户不能单击实际的选项元素。@Tom FYI-有一个PR-允许您使用数据列表输入的
select
。假设它没有任何不可预见的副作用,它可能最终会出现在Capybara 3.1中-在此之前,您可以从
datalist
分支尝试它。它最后只是在中进行了一次填充,但之前会验证该选项是否在数据列表中。