在硒C#中找不到类型或名称空间SelectElement

时间:2018-07-20 06:43:48

标签: c# selenium selenium-webdriver nunit nunittestadapter

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

有人知道如何解决吗?

5 个答案:

答案 0 :(得分:6)

您需要确保引用NuGet软件包Selenium.Support

我遇到了同样的问题,然后意识到我只引用了Selenium.WebDriver NuGet软件包。添加Selenium.Support NuGet程序包后,添加适当的using语句。我的SelectElement代码已成功编译。

正确的using语句

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

答案 1 :(得分:3)

参考以前的几篇文章,似乎您正在使用诸如 nunittestadapter NUnit.Framework 之类的框架,使用NuGet Manager的 VS 2017 ,有时安装/配置可能会出现问题。

SelectElement类

根据文档,SelectElement类在OpenQA.Selenium.Support.UI Namespace中几乎可用,它提供了一种方便的方法来处理HTML select元素中的选项选择。


  

继承层次结构

System.Object
    OpenQA.Selenium.Support.UI.SelectElement

  

命名空间: OpenQA.Selenium.Support.UI


  

程序集: WebDriver.Support(在WebDriver.Support.dll中)版本:3.1.0


  

语法:公共类SelectElement:IWrapsElement


快照:

selectelement_class

解决方案

卸载并重新安装Selenium.Webdriver和Selenium.Support软件包,肯定会解决此问题。

参考

您可以在Cannot find WebDriverWait class in OpenQa Selenium 3.7

中找到相关的讨论

答案 2 :(得分:2)

由于使用了预发行版本,因此我遇到了同样的问题。 v4.00 alpha。我安装了以前的版本v3.141.0,并且错误已解决

enter image description here

答案 3 :(得分:1)

从下拉菜单中选择项目的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");

希望这会有所帮助,

答案 4 :(得分:0)

首先,您需要从NuGet安装适当的软件包,即Selenium.Support

正确使用using语句为:

使用OpenQA.Selenium.Support.UI;