The type or namespace SelectElement could not be found in selenium c#

20.4k Views Asked by At
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");

Do anyone have solution for the problem that i had attach in the above? Try to use SelectElement but it displays:

The type or namespace `SelectElement` could not be found.

I tried to see the potential fixes, but it shows only three options which are

  • Generate class SelectElement in a new file
  • Generate class SelectElement
  • Generate nested class SelectElement

Does anyone know how to solve it?

7

There are 7 best solutions below

1
undetected Selenium On BEST ANSWER

Referring to a few previous posts it seems if you are using frameworks like nunittestadapter, NUnit.Framework, VS 2017 using the NuGet Manager sometimes there can be issues with the installation /configuration.

SelectElement Class

As per the documentation the SelectElement Class is pretty much available within OpenQA.Selenium.Support.UI Namespace which provides a convenience method for manipulating selections of options in an HTML select element.


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


Snapshot:

selectelement_class

Solution

Uninstall & reinstall the Selenium.Webdriver and Selenium.Support packages, that will surely fix the problem.

Reference

You can find a relevant discussion in Cannot find WebDriverWait class in OpenQa Selenium 3.7

0
Kovacic On

Selenium WebDriver C# code for selecting item from Drop Down:

IWebElement selectElement = driver.FindElement(By.Id("selectFilterbyUser"));
SelectElement oSelect = new SelectElement(selectElement);

There are 3 ways to select drop down item: byText, byIndex, byValue

1.byText()

oSelect.SelectByText("Alex");

2.byIndex()

SelectAnEducation.SelectByIndex(0);

3.byValue()

SelectAnEducation.SelectByValue("Alex");

Hope this helps,

3
BHOW On

You need to make sure to reference the NuGet Package Selenium.Support.

I was having the same issue and then realized that I was only referencing the Selenium.WebDriver NuGet Package. After adding the Selenium.Support NuGet package, and adding the proper using statements. My SelectElement code successfully compiled.

The proper using statements

using OpenQA.Selenium;
using OpenQA.Selenium.Support.UI;
2
Paul Murphy On

I had the same issue due to using the pre-release version. v4.00 alpha. I installed the previous version v3.141.0 and the errors were resolved

enter image description here

0
Pankaj On

First of all, You need to install the proper package from NuGet which is Selenium.Support

Correct using statements is as:

using OpenQA.Selenium.Support.UI;

0
Cosmin Sontu On

Starting with Selenium.WebDriver 4.0, one needs to install both Selenium.WebDriver and Selenium.Support nuget packages (same version) to avoid this issue (IWrapsElement / type load exceptions).

1
Mayank Mani Pandey On

In Dotnet 4.7, SelectElement is found under Selenium Support driver in Nuget Package