我想单击下拉菜单中的国家/地区,然后获取每个国家/地区的用户数。当我单击下拉列表中的国家时,它将显示用户数。我想我可以遍历然后获取它们,但不确定如何去做。 可以使用for循环并使用索引来单击元素,或者使用国家名称创建一个数组并使用它们来单击?
<div class="dropdown-menu open" style="max-height: 222px; overflow: hidden;">
<ul class="dropdown-menu inner" role="menu" aria-label="Dropdown" style="max-height: 222px; overflow-y: auto;">
<li data-original-index="0" class="">
<a tabindex="0" class="" style="" data-tokens="null">
<span class="text">All countries </span>
<span class="glyphicon glyphicon-ok check-mark"></span></a></li>
<li data-original-index="1" class="">
<a tabindex="0" class="" style="" data-tokens="null">
<span class="text">Belgium</span>
<span class="glyphicon glyphicon-ok check-mark"></span></a></li>
<li data-original-index="2">
<a tabindex="0" class="" style="" data-tokens="null">
<span class="text">Sweden</span>
<span class="glyphicon glyphicon-ok check-mark"></span></a></li>
<li data-original-index="3">
<a tabindex="0" class="" style="" data-tokens="null">
<span class="text">Hungary</span>
<span class="glyphicon glyphicon-ok check-mark"></span></a></li>
<li data-original-index="4">
<a tabindex="0" class="" style="" data-tokens="null">
<span class="text">Germany</span>
<span class="glyphicon glyphicon-ok check-mark"></span></a></li>
</ul></div>
答案 0 :(得分:1)
请尝试以下方式获取元素集合并遍历已包装的jQuery元素。有关更多详细信息,请参考Cypress Iterate over an array of DOM elements。我不确定您是否可以在提供的DOM之上找到唯一的类或ID,如果存在,请相应地更改“ div.dropdown-menu.open> ul> li> a> span.text” css选择器。 / p>
将类名称添加到CSS选择器时,如果类名称包含空格“ ex:class name”,则将“ space”替换为“。”。 (例如:class.name)。看起来像('div.class.name> div.dropdown-menu.open> ul> li> a> span.text')
cy
.get('div.dropdown-menu.open > ul > li> a > span.text') //This will create countries element collection
.each(($el, index, $list) => {
//<<Add here the drop down expand element click action>>
// $el is a wrapped jQuery element, wrap this element so we can use cypress commands on it
cy.wrap($el).click()
})