Тип или пространство имен SelectElement не найдены в селене C#
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
в новом файле - Создать класс
SelectElement
- Создать вложенный класс
SelectElement
Кто-нибудь знает как это решить?
7 ответов
Обращаясь к нескольким предыдущим сообщениям, кажется, что если вы используете фреймворки, такие как nunittestadapter, NUnit.Framework, VS 2017 с использованием NuGet Manager, иногда могут возникнуть проблемы с установкой / настройкой.
SelectElement Class
Согласно документации SelectElement
Класс в значительной степени доступен в OpenQA.Selenium.Support.UI Namespace
который обеспечивает удобный метод для манипулирования выбором опций в элементе выбора HTML.
Иерархия Наследования
System.Object
OpenQA.Selenium.Support.UI.SelectElement
Пространство имен: OpenQA.Selenium.Support.UI
Сборка: WebDriver.Support (в WebDriver.Support.dll) Версия: 3.1.0
Синтаксис: открытый класс SelectElement: IWrapsElement
Снимок:
Решение
Удалите и переустановите пакеты Selenium.Webdriver и Selenium.Support, которые наверняка решат проблему.
Ссылка
Соответствующее обсуждение можно найти в разделе Не удается найти класс WebDriverWait в OpenQa Selenium 3.7.
Вы должны обязательно ссылаться на пакет NuGet Selenium.Support.
У меня возникла та же проблема, а затем я понял, что ссылаюсь только на пакет Selenium.WebDriver NuGet. После добавления пакета NuGet Selenium.Support и добавления правильных операторов using. Мой код SelectElement успешно скомпилирован.
Правильное использование выражений
using OpenQA.Selenium;
using OpenQA.Selenium.Support.UI;
Код Selenium WebDriver C# для выбора элемента из выпадающего списка:
IWebElement selectElement = driver.FindElement(By.Id("selectFilterbyUser"));
SelectElement oSelect = new SelectElement(selectElement);
Есть 3 способа выбора выпадающего элемента: byText, byIndex, byValue
1.byText ()
oSelect.SelectByText("Alex");
2.byIndex ()
SelectAnEducation.SelectByIndex(0);
3.byValue ()
SelectAnEducation.SelectByValue("Alex");
Надеюсь это поможет,
У меня была такая же проблема из-за использования предварительной версии. v4.00 альфа. Я установил предыдущую версию v3.141.0 и ошибки были устранены
https://stackru.com/image s/6274615a092c3742f58a98e18395024705d1d3f4.png
В Dotnet 4.7 SelectElement находится в драйвере поддержки Selenium в пакете Nuget.
Прежде всего, вам необходимо установить соответствующий пакет из NuGet, который является Selenium.Support
Правильные операторы использования выглядят так:
с использованием OpenQA.Selenium.Support.UI;
Начиная с Selenium.WebDriver 4.0, необходимо установить пакеты nuget Selenium.WebDriver и Selenium.Support (одной и той же версии), чтобы избежать этой проблемы (исключения IWrapsElement/type load).