C # - Selenium - Chromedriver - Как найти элемент в классе, названный так же, как другой класс - PullRequest
1 голос
/ 07 мая 2019

У меня есть элементы:

<li class="aaa"><div class='bbb'>..content1</div></li >
<li class="aaa"><div class='bbb'>..content2</div></li >
<li class="aaa"><div class='bbb'>..content3</div></li >
...
<li class="aaa"><div class='bbb'>..content4</div></li >

Поиск классов по:

var AllClasses= driver.FindElements(By.CssSelector("li[class='aaa']"));

А потом я делаю цикл и пытаюсь проверить содержимое указанного элемента:

for (int gr = 0; gr <= AllClasses.Count();gr++) 
{
   var NumberMembers = AllClasses[gr].FindElement(By.XPath("//div[@class='bbb']"));
} 

Но он всегда находит меня только "bbb" из первого класса li. Я думаю, что его поиск не в указанном li из коллекции "FindElements", но во всем документе.

Можете ли вы сказать мне, что делать?

1 Ответ

2 голосов
/ 07 мая 2019

Вы можете просто использовать div, потому что все div имеют одинаковое имя класса.

CSS селектор будет: div.bbb

var AllClasses= driver.FindElements(By.CssSelector("div.bbb"));  

for (int gr = 0; gr <= AllClasses.Count();gr++) 
{
   var NumberMembers = AllClasses[gr].Text;
   Console.WriteLine(NumberMembers);
} 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...