【发布时间】:2018-07-03 12:04:45
【问题描述】:
我很欣赏已经发布了这个问题的变体,但是,我已经阅读并尝试了这些帖子中的所有选项,但没有成功。我认为在我的情况下,HTML 中有一些东西阻止了解决方案的工作,特别是 css 类ui-helper-hidden-accessible。
以下是我的HTML
<div id="myform:selectCharacteristic" class="ui-selectonemenu ui-widget ui-state-default ui-corner-all">
<div class="ui-helper-hidden-accessible">
<input id="myform:selectCharacteristic_focus" type="text" autocomplete="off" role="combobox" aria-haspopup="true" aria-expanded="false" />
</div>
<div class="ui-helper-hidden-accessible">
<select id="myform:selectCharacteristic_input" tabindex="-1" data-p-con="javax.faces.Integer" data-p-hl="onemenu">
<option value="1">Hatchback</option>
<option value="2">Estate</option>
<option value="3">Saloon</option>
</select>
</div>
<label id="myform:selectCharacteristic_label" class="ui-selectonemenu-label ui-inputfield ui-corner-all"> </label>
<div class="ui-selectonemenu-trigger ui-state-default ui-corner-right">
<span class="ui-icon ui-icon-triangle-1-s ui-c"></span>
</div>
<div id="myform:selectCharacteristic_panel" class="ui-selectonemenu-panel ui-widget ui-widget-content ui-corner-all ui-helper-hidden ui-shadow">
<div class="ui-selectonemenu-items-wrapper" style="height:200px">
<ul id="myform:selectCharacteristic_items" class="ui-selectonemenu-items ui-selectonemenu-list ui-widget-content ui-widget ui-corner-all ui-helper-reset" role="listbox">
<li class="ui-selectonemenu-item ui-selectonemenu-list-item ui-corner-all" data-label="Hatchback" tabindex="-1" role="option">Hatchback</li>
<li class="ui-selectonemenu-item ui-selectonemenu-list-item ui-corner-all" data-label="Estate" tabindex="-1" role="option">Estate</li>
<li class="ui-selectonemenu-item ui-selectonemenu-list-item ui-corner-all" data-label="Saloon" tabindex="-1" role="option">Saloon</li>
</ul>
</div>
</div>
我尝试了多种方法,包括org.openqa.selenium.support.ui.Select.selectByIndex() 和org.openqa.selenium.support.ui.Select.selectByVisibleText() 尝试使用操作执行点击,然后发送Keys.UP 和Keys.DOWN。但是这些选项都没有成功。
我非常感谢一个解决方案,它可以从仅从标签值开始的下拉列表中选择一个项目。也就是说,如果我想选择“Saloon”,我不一定知道它的索引值为 3。此外,下拉菜单可以包含更多需要滚动下拉菜单的选项。
非常感谢
【问题讨论】:
-
检查你的元素是否在
iframe中。如果是,你必须先切换到 iframe -
使用哪个框架开发页面。
-
没有 iframe。用于开发页面JSF的框架
-
JSF with primefaces 6.0
标签: java selenium selenium-webdriver drop-down-menu webdriver