Мой html-код:
<td class = "v-formlayout-contentcell">
<div role = "combobox" class = "v-filterselect v-widget v-required v-filterselect-required v-has-width v-filterselect-prompt" id = "envRegulations" style = "width: 255px;">
<input type = "text" class = "v-filterselect-input" autocomplete = "off" id = "gwt-uid-366" aria-labelledby = "gwt-uid-365" aria-required = "true" style = "width: 100%;" tabindex = "0" dir = "">
<div class = "v-filterselect-button" aria-hidden = "true" role = "button"></div>
</div>
</td>
<div class = "v-filterselect-button" aria-hidden = "true" role = "button"></div>
В выпадающем списке есть 2 значения: «Да» и «Нет».
Я пробовал много вариантов (By.cssSelector, By.xPath), чтобы принудительно писать в этом поле, но это не помогло. Последняя версия кода:
WebElement environmentalRegulations = wait.until(ExpectedConditions.presenceOfElementLocated(By.id("envRegulations")));
environmentalRegulations.sendKeys("YES");
environmentalRegulations.sendKeys(Keys.ENTER);
Ошибка: исключение в потоке «основной» org.openqa.selenium.ElementNotInteractableException: элемент не взаимодействует
Упомяните, что id = «gwt-uid-366» — это динамическое значение, и я не могу его получить.
Как выбрать значение из этого div? Не могли бы вы мне помочь, пожалуйста?




WebElement environmentalRegulations = wait.until(ExpectedConditions.presenceOfElementLocated(By.id("envRegulations")));
измените эту строку, чтобы она указывала на input, а не на div, как показано ниже.
WebElement environmentalRegulations = wait.until(ExpectedConditions.presenceOfElementLocated(By.cssSelector("#envRegulations input")));
Сделанный. Я решил это с помощью "By.cssSelector("#envRegulations input"))". Спасибо! :)
Я не вижу раскрывающихся значений «Да» и «Нет». Можете ли вы поделиться URL-адресом страницы, чтобы я мог убедиться в этом сам?