driver.FindElement(By.Id("inputUsername")).SendKeys("aca");
driver.FindElement(By.Id("inputPassword")).SendKeys("123");
driver.FindElement(By.TagName("button")).Click();
SelectElement oSelect = new SelectElement(driver.FindElement(By.Id("selectFilterbyUser")));
oSelect.selectByText("Alex");
У кого-нибудь есть решение проблемы, которую я прикрепил выше? Попробуйте использовать SelectElement, но он отображает:
The type or namespace `SelectElement` could not be found.
Я попытался увидеть возможные исправления, но он показывает только три варианта, которые
SelectElement в новом файлеSelectElementSelectElementКто-нибудь знает как это решить?
Кевин не публикует ссылку на изображение и не публикует свой код по вопросу в правильном формате. Можете сослаться по этой ссылке как задать вопрос
Если вы используете Visual Studio, попробуйте щелкнуть правой кнопкой мыши SelectElement, а затем resolve namespace щелкните правильное пространство имен, чтобы оно было добавлено в верхнюю часть файла.
@Rafalon, там не было никакого пространства имен. он показывает только эти три (сгенерировать класс SelectElement в новом файле, сгенерировать класс SelectElement и сгенерировать вложенный класс SelectElement) при щелчке правой кнопкой мыши
@Kevin Покажите "using" строки импорта в верхней части кода. Вероятно, проблема в этом
с использованием NUnit.Framework; с использованием OpenQA.Selenium; с использованием OpenQA.Selenium.Chrome; с использованием OpenQA.Selenium.Support.UI;
У вас есть ошибка в одной из этих строк? Может быть, у вас нет ссылок, включенных в ваш проект?
@Rafalon нет ошибки, единственное, что использует OpenQA.Selenium.Support.UI; серый
ответ от @BHOW - единственный, который решит OP.





Код Selenium WebDriver C# для выбора элемента из раскрывающегося списка:
IWebElement selectElement = driver.FindElement(By.Id("selectFilterbyUser"));
SelectElement oSelect = new SelectElement(selectElement);
Выбрать раскрывающийся элемент можно тремя способами: по тексту, по индексу, по значению.
1. byText ()
oSelect.SelectByText("Alex");
2. byIndex ()
SelectAnEducation.SelectByIndex(0);
3.byValue ()
SelectAnEducation.SelectByValue("Alex");
Надеюсь это поможет,
у меня отлично сработало, спасибо !!!
Ссылаясь на несколько предыдущих сообщений, кажется, что если вы используете такие фреймворки, как nunittestadapter, NUnit.Framework, VS 2017 с использованием диспетчера NuGet, иногда могут возникнуть проблемы с установкой / настройкой.
Согласно документации, класс SelectElement в значительной степени доступен в OpenQA.Selenium.Support.UI Namespace, который предоставляет удобный метод для управления выбором параметров в элементе выбора HTML.
Inheritance Hierarchy
System.Object
OpenQA.Selenium.Support.UI.SelectElement
Namespace: OpenQA.Selenium.Support.UI
Assembly: WebDriver.Support (in WebDriver.Support.dll) Version: 3.1.0
Syntax: public class SelectElement : IWrapsElement
Снимок:
Удалите и переустановите пакеты Selenium.Webdriver и Selenium.Support, которые наверняка решат проблему.
Вы можете найти соответствующее обсуждение в Не удается найти класс WebDriverWait в OpenQa Selenium 3.7
да ваш ответ правильный! я переустанавливаю поддержку webdriver, и теперь она работает !. Благодарность
Обязательно укажите ссылку на пакет NuGet Селен. Поддержка.
У меня была такая же проблема, но я понял, что ссылаюсь только на пакет NuGet Selenium.WebDriver. После добавления пакета NuGet Selenium.Support и правильных операторов using. Мой код SelectElement успешно скомпилирован.
Правильные операторы использования
using OpenQA.Selenium;
using OpenQA.Selenium.Support.UI;
Это ответ, который решает вопрос OP о том, почему SelectElement не распознается.
Это сработало для меня, принятый ответ (DebanjanB) - нет.
У меня была такая же проблема из-за использования предварительной версии. v4.00 альфа. Я установил предыдущую версию v3.141.0 и ошибки были устранены
Я сделал то же самое, но с последней версией chromedriver это не сработало. Вместо этого он дал мне «Не удалось загрузить тип OpenQA.Selenium.Internal.IWrapsElement»
При установке новейших версий это все весело, пока вся документация и руководства по SelectElement не устареют. Очень признателен! Как раз то, что я подумал об этом!
Прежде всего, вам необходимо установить правильный пакет из NuGet, который является Selenium.Support
Правильные операторы использования выглядят так:
с использованием OpenQA.Selenium.Support.UI;
Добро пожаловать в SO. Лучше включать текст ошибки в вопрос, а не в виде изображения. Вам также необходимо будет включить соответствующую часть вашего кода. См. stackoverflow.com/help/mcve