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
有谁知道如何解决它?
参考之前的一些帖子,如果您使用的是nunittestadapter,NUnit.Framework,VS 2017等框架,使用NuGet Manager有时可能会出现安装/配置问题。
根据文档,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
语法:public class SelectElement:IWrapsElement
快照:
卸载并重新安装Selenium.Webdriver和Selenium.Support软件包,这肯定会解决问题。
您可以在Cannot find WebDriverWait class in OpenQa Selenium 3.7找到相关的讨论
您需要确保参考NuGet包Selenium.Support。
我遇到了同样的问题,然后意识到我只是引用了Selenium.WebDriver NuGet包。添加Selenium.Support NuGet包之后,添加正确的using语句。我的SelectElement代码已成功编译。
正确的使用陈述
using OpenQA.Selenium;
using OpenQA.Selenium.Support.UI;
用于从下拉列表中选择项目的Selenium WebDriver C#代码:
IWebElement selectElement = driver.FindElement(By.Id("selectFilterbyUser"));
SelectElement oSelect = new SelectElement(selectElement);
有三种方法可以选择下拉项:byText,byIndex,byValue
1.byText()
oSelect.SelectByText("Alex");
2.byIndex()
SelectAnEducation.SelectByIndex(0);
3.byValue()
SelectAnEducation.SelectByValue("Alex");
希望这可以帮助,