Вы можете взять все выпадающие элементы в списке и перебрать его, чтобы проверить, содержит ли он текст Item defective
, и как только вы получите текст, вы можете нажать на эту опцию.
Если есть только один раскрывающийся список с классом a-dropdown-item
, то вы можете получить простой список webelement, используя:
List<WebElement> dropdownElements = browseDriver.FindElements(By.ClassName('a-dropdown-item'));
И если есть несколько раскрывающихся списков с одним и тем же classNameзатем вы можете получить этот конкретный выпадающий список, используя следующий xpath:
List<WebElement> dropdownElements = browseDriver.FindElements(By.Xpath('//div[contains(@class,'a-popover-inner')]//li[@class='a-dropdown-item']//a'));
И затем вы можете добавить логику для сопоставления текста, например:
for (int i = 0; i < dropdownElements.Count; i++) {
if (dropdownElements.get(i).getText().contains("Item defective")) {
dropdownElements.get(i).click();
break;
}
}