Search code examples
c#seleniumselenium-webdrivernunitnunittestadapter

The type or namespace SelectElement could not be found in selenium 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");

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?


Solution

  • 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