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.
潜在的な修正を確認しようとしましたが、3つのオプションしか表示されません。
SelectElement
を新しいファイルに生成しますSelectElement
を生成しますSelectElement
を生成します誰もそれを解決する方法を知っていますか?
以前のいくつかの投稿を参照すると、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.
構文:パブリッククラスSelectElement:IWrapsElement
スナップショット:
Selenium.WebdriverおよびSelenium.Supportパッケージをアンインストールして再インストールすると、問題が確実に修正されます。
関連するディスカッションは OpenQa Selenium 3.7でWebDriverWaitクラスが見つかりません で見つけることができます
NuGetパッケージを必ず参照する必要があります Selenium.Support 。
私は同じ問題を抱えていましたが、 Selenium.WebDriver NuGetパッケージのみを参照していることに気付きました。 Selenium.Support NuGetパッケージを追加し、適切なusingステートメントを追加した後。 SelectElementコードが正常にコンパイルされました。
適切なusingステートメント
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の3つの方法があります。
1.byText()
oSelect.SelectByText("Alex");
2.byIndex()
SelectAnEducation.SelectByIndex(0);
.byValue()
SelectAnEducation.SelectByValue("Alex");
お役に立てれば、