gpt4 book ai didi

c# - webdriver - 获取特定 div 中包含的所有类名称的计数

转载 作者:太空宇宙 更新时间:2023-11-03 19:06:49 27 4
gpt4 key购买 nike

将 webdriver 与 c# 结合使用,我试图获取特定下拉菜单(它不是选择元素)中包含的所有项目的计数。问题是,我的页面上还有许多其他元素包含相同的类名,所以我需要的是一种仅在特定 div 中过滤类名的方法。

这是我正在查看的代码示例:

<div id="DropDownMenu1">
<span class="drop-combobox">
<div class="drop-item-content">list item number 1</div></div>
<div class="drop-item-content">list item number 2</div></div>
<div class="drop-item-content">list item number 3</div></div>
</span>
</div>

在我的整个页面中,我还会有像这样的额外下拉菜单(所有类名都相同 - 只是 div 的名称不同):

  <div id="DropDownMenu2">
<span class="drop-combobox">
<div class="drop-item-content">list item number 1</div></div>
<div class="drop-item-content">list item number 2</div></div>
<div class="drop-item-content">list item number 3</div></div>
</span>
</div>

<div id="DropDownMenu3">
<span class="drop-combobox">
<div class="drop-item-content">list item number 1</div></div>
<div class="drop-item-content">list item number 2</div></div>
<div class="drop-item-content">list item number 3</div></div>
</span>
</div>

我已经能够使用(从内存中)像这样的东西得到一个计数:

driver.FindElements(By.ClassName("drop-item-content").Count());

问题是,我的计数返回了名称为“drop-item-content”的所有类,但我需要对包含在 1 个特定 div 中的所有类名进行计数。

我希望这是有道理的(我希望有人能提供帮助):)

非常感谢

最佳答案

您首先尝试获取具有 id 的孔元素,然后使用该元素进行过滤(在这种情况下为 div,因为您不想要它的跨度),然后使用类名。类名不是必需的因为你想要所有的 Div,以防选择器失败,使用它时不带类名。 CssSelector 必须工作。尝试下一行:

Driver.FindElements(By.CssSelector("#DropDownMenu3 div.drop-item-content").count();

关于c# - webdriver - 获取特定 div 中包含的所有类名称的计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25847171/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com