web-dev-qa-db-fra.com

Le type ou l'espace de noms SelectElement est introuvable dans 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");

Quelqu'un a-t-il une solution au problème que j'ai rencontré ci-dessus? Essayez d'utiliser SelectElement mais il affiche:

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

J'ai essayé de voir les correctifs potentiels, mais il ne montre que trois options qui sont

  • Génère la classe SelectElement dans un nouveau fichier
  • Génère la classe SelectElement
  • Générer une classe imbriquée SelectElement

Quelqu'un sait-il comment le résoudre?

6
Kevin

En se référant à quelques articles précédents, il semble que si vous utilisez des cadres comme nunittestadapter, NUnit.Framework, VS 2017 utilisant le gestionnaire NuGet parfois il peut y avoir des problèmes avec l'installation/la configuration.

Classe SelectElement

Selon la documentation, la classe SelectElement est à peu près disponible dans (OpenQA.Selenium.Support.UI Namespace qui fournit une méthode pratique pour manipuler les sélections d'options dans un élément HTML select.


Hiérarchie d'héritage

System.Object
    OpenQA.Selenium.Support.UI.SelectElement

Espace de noms: OpenQA.Selenium.Support.UI


Assemblage: WebDriver.Support (dans WebDriver.Support.dll) Version: 3.1.0


Syntaxe: classe publique SelectElement: IWrapsElement


Instantané:

selectelement_class

Solution

Désinstallez et réinstallez les packages Selenium.Webdriver et Selenium.Support, qui résoudront sûrement le problème.

Référence

Vous pouvez trouver une discussion pertinente dans Impossible de trouver la classe WebDriverWait dans OpenQa Selenium 3.7

9
DebanjanB

Vous devez vous assurer de référencer le package NuGet Selenium.Support .

J'avais le même problème et j'ai réalisé que je ne faisais que référencer le Selenium.WebDriver NuGet Package. Après avoir ajouté le package NuGet Selenium.Support et ajouté les instructions using appropriées. Mon code SelectElement a été compilé avec succès.

Les instructions d'utilisation appropriées

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

Selenium WebDriver Code C # pour sélectionner un élément dans la liste déroulante:

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

Il existe 3 façons de sélectionner un élément déroulant: byText, byIndex, byValue

1.byText ()

oSelect.SelectByText("Alex");

2.byIndex ()

SelectAnEducation.SelectByIndex(0);

.byValue ()

SelectAnEducation.SelectByValue("Alex");

J'espère que cela t'aides,

1
Kovacic