如何使用selenium c#计算嵌套div?

如何使用selenium c#计算嵌套div?,c#,selenium,selenium-webdriver,xpath,css-selectors,C#,Selenium,Selenium Webdriver,Xpath,Css Selectors,根据您提供的用于计算第二个(父项)中嵌套子项的HTML,您可以使用以下任一解决方案: css选择器: int rowCount = driver.FindElements(By.XPath("//div[@class='bodyCells[2]']//div").Count()); Console.WriteLine(rowCount); 您可以使用下面修改的XPath来获取第二个嵌套div的计数 XPath://div[@class='bodyCells']/div/div[2]/div

根据您提供的用于计算第二个(父项)
中嵌套子项的HTML,您可以使用以下任一解决方案:

  • css选择器

    int rowCount = driver.FindElements(By.XPath("//div[@class='bodyCells[2]']//div").Count());
    Console.WriteLine(rowCount);
    

您可以使用下面修改的XPath来获取第二个嵌套div的计数

XPath:
//div[@class='bodyCells']/div/div[2]/div

代码:

List<string> elements = driver.FindElements(By.XPath("//div[@class='bodyCells']//div[@class='pivotTableCellWrap' and contains(@title,'-')]"));
Console.WriteLine(elements.Count);

我的代码中有两个div的bodycells..我想要第二个的嵌套div计数,正如我上面提到的,它应该在外部..但是我仍然需要正确的命令,它可能与int-rowCount=driver.FindElements(By.XPath(//input[@id='bodycells'])[2]/div/div/div”).count()重复;控制台写入线(行计数);你可以使用CSS选择器,比如,
div[title$='-123']
,它会找到标题以“-123”结尾的
div
s。如果列表中添加了其他元素,并且索引发生了变化,那么这种方法就没有您的方法那么脆弱了。请参阅。@jatinpatware签出我的更新答案,并让我知道statusint rowCount=driver.FindElements(通过.CssSelector(“div.bodyCells div.pivotTableCellWrap[title*='-'])。计数;控制台写入线(行计数);在语法上工作正常,但在逻辑上没有给出正确的输出
List<string> elements = driver.FindElements(By.CssSelector("div.bodyCells div.pivotTableCellWrap[title*='-']"));
Console.WriteLine(elements.Count);
List<string> elements = driver.FindElements(By.XPath("//div[@class='bodyCells']//div[@class='pivotTableCellWrap' and contains(@title,'-')]"));
Console.WriteLine(elements.Count);
var rowCount = _driver.FindElements(By.XPath("//div[@class='bodyCells']/div/div[2]/div")).Count;
Console.WriteLine(rowCount);