Тип или пространство имен SelectElement не удалось найти в selenium с #

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

Кто-нибудь знает как это решить?

Добро пожаловать в SO. Лучше включать текст ошибки в вопрос, а не в виде изображения. Вам также необходимо будет включить соответствующую часть вашего кода. См. stackoverflow.com/help/mcve

Nick 20.07.2018 08:48

Кевин не публикует ссылку на изображение и не публикует свой код по вопросу в правильном формате. Можете сослаться по этой ссылке как задать вопрос

Ashok kumar Ganesan 20.07.2018 08:49

Если вы используете Visual Studio, попробуйте щелкнуть правой кнопкой мыши SelectElement, а затем resolve namespace щелкните правильное пространство имен, чтобы оно было добавлено в верхнюю часть файла.

Rafalon 20.07.2018 09:05

@Rafalon, там не было никакого пространства имен. он показывает только эти три (сгенерировать класс SelectElement в новом файле, сгенерировать класс SelectElement и сгенерировать вложенный класс SelectElement) при щелчке правой кнопкой мыши

Kevin 20.07.2018 09:14

@Kevin Покажите "using" строки импорта в верхней части кода. Вероятно, проблема в этом

Shivam Mishra 20.07.2018 09:17

с использованием NUnit.Framework; с использованием OpenQA.Selenium; с использованием OpenQA.Selenium.Chrome; с использованием OpenQA.Selenium.Support.UI;

Kevin 20.07.2018 09:19

У вас есть ошибка в одной из этих строк? Может быть, у вас нет ссылок, включенных в ваш проект?

Rafalon 20.07.2018 09:22

@Rafalon нет ошибки, единственное, что использует OpenQA.Selenium.Support.UI; серый

Kevin 20.07.2018 09:25

ответ от @BHOW - единственный, который решит OP.

GilShalit 27.01.2019 21:50
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
9
9
14 122
5
Перейти к ответу Данный вопрос помечен как решенный

Ответы 5

Код 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");

Надеюсь это поможет,

у меня отлично сработало, спасибо !!!

eugene.polschikov 04.06.2021 00:47
Ответ принят как подходящий

Ссылаясь на несколько предыдущих сообщений, кажется, что если вы используете такие фреймворки, как nunittestadapter, NUnit.Framework, VS 2017 с использованием диспетчера NuGet, иногда могут возникнуть проблемы с установкой / настройкой.

SelectElement Класс

Согласно документации, класс 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


Снимок:

selectelement_class

Решение

Удалите и переустановите пакеты Selenium.Webdriver и Selenium.Support, которые наверняка решат проблему.

Справка

Вы можете найти соответствующее обсуждение в Не удается найти класс WebDriverWait в OpenQa Selenium 3.7

да ваш ответ правильный! я переустанавливаю поддержку webdriver, и теперь она работает !. Благодарность

Kevin 25.07.2018 04:19

Обязательно укажите ссылку на пакет NuGet Селен. Поддержка.

У меня была такая же проблема, но я понял, что ссылаюсь только на пакет NuGet Selenium.WebDriver. После добавления пакета NuGet Selenium.Support и правильных операторов using. Мой код SelectElement успешно скомпилирован.

Правильные операторы использования

using OpenQA.Selenium;
using OpenQA.Selenium.Support.UI;

Это ответ, который решает вопрос OP о том, почему SelectElement не распознается.

GilShalit 27.01.2019 21:49

Это сработало для меня, принятый ответ (DebanjanB) - нет.

Mat 05.09.2019 16:52

У меня была такая же проблема из-за использования предварительной версии. v4.00 альфа. Я установил предыдущую версию v3.141.0 и ошибки были устранены

Я сделал то же самое, но с последней версией chromedriver это не сработало. Вместо этого он дал мне «Не удалось загрузить тип OpenQA.Selenium.Internal.IWrapsElement»

Erin B 14.01.2020 21:11

При установке новейших версий это все весело, пока вся документация и руководства по SelectElement не устареют. Очень признателен! Как раз то, что я подумал об этом!

idchlife 09.02.2020 10:44

Прежде всего, вам необходимо установить правильный пакет из NuGet, который является Selenium.Support

Правильные операторы использования выглядят так:

с использованием OpenQA.Selenium.Support.UI;

Другие вопросы по теме