C#-Selenium-Chromedriver-如何在与另一个类相同名称的类中查找元素

时间:2019-05-07 10:06:06

标签: c# html .net selenium selenium-chromedriver

我有要素:

<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”。我认为从“ FindElements”的集合中搜索li不是指定li,而是整个文档。

你能告诉我该怎么做吗?

1 个答案:

答案 0 :(得分:2)

您可以简单地使用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);
}