在 selenium c# 中找不到类型或命名空间 SelectElement

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");

有人能解决我在上面提到的问题吗?尝试使用 SelectElement 但它显示:

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

我试图查看可能的修复,但它只显示了三个选项,即

有人知道怎么解决吗?

Selenium WebDriver C# 代码 select 从下拉列表中编辑项目:

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

有 3 种方法可以select 下拉项目:byText、byIndex、byValue

1.byText()

oSelect.SelectByText("Alex");

2.byIndex()

SelectAnEducation.SelectByIndex(0);

3.byValue()

SelectAnEducation.SelectByValue("Alex");

希望这对您有所帮助,

参考之前的几篇文章,如果您使用的框架如 nunittestadapterNUnit.Framework, VS 2017 使用 NuGet 管理器 有时可能会出现问题安装/配置。

选择元素Class

根据文档,SelectElement Class is pretty much available within OpenQA.Selenium.Support.UI Namespace 提供了一种方便的方法来操纵 HTML select 元素中的 select 个选项。


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


快照:

解决方案

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

参考

您可以在

中找到相关讨论

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

我遇到了同样的问题,然后意识到我只是在引用 Selenium.WebDriver NuGet 包。添加 Selenium.Support NuGet 包并添加正确的 using 语句后。我的 SelectElement 代码编译成功。

正确的using语句

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

由于使用预发布版本,我遇到了同样的问题。 v4.00 阿尔法。我安装了之前的版本v3.141.0,错误解决了

首先,您需要从 NuGet 安装正确的包,即 Selenium.Support

正确的使用语句如下:

使用 OpenQA。Selenium.Support.UI;

从 Selenium.WebDriver 4.0 开始,需要同时安装 Selenium.WebDriver 和 Selenium.Support nuget 包(相同版本)以避免此问题(IWrapsElement / 类型加载异常)。