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
有人知道如何解决吗?
答案 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
类在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
快照:
卸载并重新安装Selenium.Webdriver和Selenium.Support软件包,肯定会解决此问题。
答案 2 :(得分:2)
答案 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;