我有以下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>
这是一个下拉菜单,我想选择其中一个选项。无论我尝试使用任何find命令或选择功能。我总是得到同样的错误:
Selenium::WebDriver::Error::ElementNotVisibleError: element not visible: Element is not currently visible and may not be manipulated
有没有人对如何选择这些选项并选择一个选项有任何建议?
感谢。
答案 0 :(得分:3)
您目前无法尝试做什么,因为它实际上并不是一个下拉选择元素。 &lt; datalist&gt;选项元素在页面上实际上永远不可见,因为标准声明“在渲染中,datalist元素不代表任何内容,它应与其子项一起隐藏。” - https://html.spec.whatwg.org/dev/form-elements.html#the-datalist-element。相反,任何&lt;选项&gt; datalist中的元素仅用作输入元素的自动填充建议(但实际上并不限制用户可以以任何方式输入的值)。因此,由于datalist用户只需在输入元素中输入他们想要的任何内容,您就可以像任何其他文本输入一样设置输入值。
fill_in("manufacturer", with: 'Jaguar')