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

16,064

Solution 1

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

Solution 2

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;

Solution 3

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,

Solution 4

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

Share:
16,064
Kevin
Author by

Kevin

Updated on July 22, 2022

Comments

  • Kevin
    Kevin almost 2 years
    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?

  • Kevin
    Kevin almost 6 years
    yes your answer is correct! i reinstall the webdriver support and it is working now!. thanks
  • GilShalit
    GilShalit over 5 years
    This is the answer that solves the OP's question as to why SelectElement is not recognized.
  • Mat
    Mat almost 5 years
    This worked for me, the accepted answer (DebanjanB's) did not.
  • Erin B
    Erin B over 4 years
    I did the very same thing, and it didn't work with the newest version of chromedriver. It instead gave me "Could not load type 'OpenQA.Selenium.Internal.IWrapsElement'"
  • idchlife
    idchlife over 4 years
    It's all fun and stuff when installing newest versions until all the documentation and tutorials with SelectElement are obsolete. Much appreciated! Just what I thought about this!