web-dev-qa-db-ja.com

タイプまたは名前空間SelectElementが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.

潜在的な修正を確認しようとしましたが、3つのオプションしか表示されません。

  • クラスSelectElementを新しいファイルに生成します
  • クラスSelectElementを生成します
  • ネストされたクラスSelectElementを生成します

誰もそれを解決する方法を知っていますか?

6
Kevin

以前のいくつかの投稿を参照すると、nunittestadapterNUnit.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.


構文:パブリッククラスSelectElement:IWrapsElement


スナップショット:

selectelement_class

解決

Selenium.WebdriverおよびSelenium.Supportパッケージをアンインストールして再インストールすると、問題が確実に修正されます。

参照

関連するディスカッションは OpenQa Selenium 3.7でWebDriverWaitクラスが見つかりません で見つけることができます

9
DebanjanB

NuGetパッケージを必ず参照する必要があります Selenium.Support

私は同じ問題を抱えていましたが、 Selenium.WebDriver NuGetパッケージのみを参照していることに気付きました。 Selenium.Support NuGetパッケージを追加し、適切なusingステートメントを追加した後。 SelectElementコードが正常にコンパイルされました。

適切なusingステートメント

using OpenQA.Selenium;
using OpenQA.Selenium.Support.UI;
8
BHOW

ドロップダウンから項目を選択するための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");

お役に立てれば、

1
Kovacic