2 votes

Comment localiser webelement avec innertext

J'utilise selenium avec C# pour écrire un test, mais maintenant je fais face à un problème.

Voici mon code html. Comment puis-je localiser le "100" sur la page web?

< ul>

 < li class=""> 100 < /li>

 < li class=""> 200 < /li>

 < li class=""> 300 < /li>

 < li class=""> 400 < /li>

 < li class=""> 500 < /li>

< /ul>

8voto

Arran Points 11357
IWebDriver Driver = nouveau FirefoxDriver();
IWebElement element = Driver.FindElement(By.XPath("//li[text()=' 100 ']"));

4voto

Aleh Douhi Points 1527

Cela peut également être fait sans xpath :

driver.FindElements(By.TagName("li")).Where(elem => elem.Text.Trim() == "100").FirstOrDefault();

0voto

Danny Points 808

Je préfère le faire de cette manière :

  1. Obtenez tous les éléments sur la page.
  2. Parcourez les éléments en vérifiant le texte.

    IList allElements = driver.FindElements(By.CssSelector("*")); foreach (var element in allElements) { if (element.Text == "Mon texte interne que je recherche") { element.Click(); } }

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X