Я ценю, что варианты этого вопроса уже опубликованы, однако я прочитал и попробовал все варианты из этих сообщений, но безуспешно. Я думаю, что в моем случае в 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
. Однако эти варианты не были успешными.
Я был бы очень признателен за решение, которое может выбрать элемент из выпадающего списка, начиная только со значения метки. То есть, если я хочу выбрать «Салон», я не обязательно знаю, что он имеет значение индекса 3. Кроме того, раскрывающийся список может содержать много других параметров, для которых требуется прокрутка в раскрывающемся меню.
Большое спасибо