Мне нужно нажать на указанный элемент li
, используя раскрывающийся список: All subject areas
на веб-сайте . Проблема в том, что невозможно нажать на указанный элемент li
с помощью Selenium.
Например, если я пишу так:
String textInput = "Agricultural and Biological Sciences";
//...
// open the dropdown so the options are visible
driver.findElement(By.className("dropdown"));
// Get all of the options of dropdown list
WebElement ulElement = driver.findElement(By.cssSelector("ul.dropdown-options.dropdown-element"));
List<WebElement> opts = ulElement.findElements(By.xpath(".//li/a"));
И пытаюсь выбрать указанный элемент li
:
// Loop through the options and select the one that matches
for (WebElement opt : opts) {
if(opt.getText().equals(textInput)){
opt.click();
//...
}
}
Программа просто пропускает условие.
Если я изменил вариант на следующий:
// Loop through the options and select the one that matches
for (WebElement opt : opts) {
if(!opt.findElements(By.xpath("//*[contains(text(), '" + textInput + "')]")).isEmpty()) {
opt.click();
//...
}
}
Условие не игнорируется и успешно проходит, но затем программа не нажимает на кнопку, и список закрывается.
Может кто-нибудь подсказать мне, как решить проблему здесь?