Добрых день всем,Селен Выберите Hidden выпадающего меню
Так что мой вопрос я пытаюсь выбрать поля в раскрывающемся меню в том, что скрыто. Ниже приведен код HTML для одного из указанных выпадающих меню.
<div id="mainForm:defectPriorityField" class="ui-selectonemenu ui-widget ui-state-default ui-corner-all ui-helper-clearfix" style="width:120px">
<div class="ui-helper-hidden">
<select id="mainForm:defectPriorityField_input" name="mainForm:defectPriorityField_input">
<option value="1-Urgent">1-Urgent</option>
<option value="2-Very High">2-Very High</option>
<option value="3-High">3-High</option>
<option value="4-Medium">4-Medium</option>
<option value="5-Low">5-Low</option>
</select>
Теперь я прочитал Есть несколько способов, которыми я могу это сделать. Ниже, кажется, самый популярный.
String cssSelector= ...
JavascriptExecutor js = (JavascriptExecutor) driver;
StringBuilder stringBuilder = new StringBuilder();
stringBuilder.append("var x = $(\'"+cssSelector+"\');");
stringBuilder.append("x.click();");
js.executeScript(stringBuilder.toString());
для XPath ниспадающего меню // * [@ ид = «MainForm: defectPriorityField_input»] Я относительно новый для этого, и я не уверен, как произвести или получить CSSSelector. Пожалуйста, если кто-нибудь может указать мне в правильном направлении, было бы весьма полезно.
Я думаю, что правильный подход состоял бы в том, чтобы на самом деле щелкнуть по выпадающему меню, чтобы отобразить параметры, с которых они больше не скрыты и могут легко их выбирать. Вы пытались это сделать? –
Да, я могу это сделать, но у меня есть еще одна проблема: некоторые из выпадающих меню являются динамическими, а то, что в них меняется, меняется. И единственный способ выбрать элемент в раскрывающемся списке - по его xpath. Который всегда меняется в зависимости от того, увеличился ли размер вниз и т. Д. –
Я изначально собирался это сделать. Выберите параметрSelectField = new Выберите (driver.findElement (By.id ("mainForm: defectPriorityField_input"))); параметрSelectField.selectByVisibleText ("5-Low"); Но поскольку метод скрытого выбора поля не будет работать. –