Элемент Select ожидает тег select.В вашем случае это тег «nz-select».Следовательно, это выдает ошибку.
Я бы написал выпадающий класс.
public DropDownMenu(By optionsStrategy, By optionButtonStrategy, IWebDriver driver)
{
driver = driver;
optionContainerStrategy = optionsContainer;
optionsStrategy = optionsStrategy;
optionButtonStrategy = optionButtonStrategy;
optionButton = driver.FindElement(_optionButtonStrategy);
}
Где вы можете передать локатор для ваших опций / элемента и локатор для выпадающей кнопки, которая вызовет отображение выпадающего списказначения параметров.
var dropDown = new Dropdown(By.CssSelector("formcontrolname['selectedIntegrationTypes']")),By.CssSelector("[insert options/items identifier here]"), driver)
Теперь мы можем создать метод для выбора параметра
public void SelectItemByName(string itemName)
{
Actions action = new Actions(_driver);
action.MoveToElement(_optionButton).Click().Build().Perform();
Thread.Sleep(500);
GetOption(itemName, _optionsStrategy).Click();
}
private IWebElement GetOption(string optionName, By optionStrategy)
{
IWebElement optionElement = _driver.FindElements(optionStrategy).Where(x => x.Text.Trim().Trim().Equals(optionName.Trim(), StringComparison.OrdinalIgnoreCase)).FirstOrDefault();
return optionElement ?? throw new Exception($"Option {optionName} not found.");
}
private IReadOnlyCollection<IWebElement> GetOptions(By optionStrategy) => _driver.FindElements(optionStrategy);
Затем вы можете использовать его с помощью dropDown.SelectItemByName("Other")