首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在Cypress中点击下拉列表中的所有选项?

如何在Cypress中点击下拉列表中的所有选项?
EN

Stack Overflow用户
提问于 2020-08-06 22:57:46
回答 1查看 856关注 0票数 0

我想点击下拉列表中的国家/地区,然后获得每个国家/地区的用户数。当我单击下拉菜单中的国家/地区时,它会显示用户数量。我想我可以遍历它们,然后得到它们,但不确定怎么做。我是否可以使用for循环并使用索引来单击元素,或者使用国家名称创建一个数组并使用它们来单击?

代码语言:javascript
运行
复制
<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>

EN

回答 1

Stack Overflow用户

发布于 2020-08-10 15:03:22

请尝试以下方式获取元素集合并循环访问包装的jQuery元素。有关详细信息,请参阅Cypress Iterate over an array of DOM elements。我不确定您是否能在您提供的DOM上找到唯一的类或id,如果存在,请相应地更改'div.dropdown-menu.open > ul > li> a> span.text‘css选择器。

将类名称添加到css选择器时,如果类名称包含空格"ex: class name",则将"space“替换为".”(例如: class.name)。这看起来像('div.class.name > div.dropdown-menu.open > ul > li> a> span.text')

代码语言:javascript
运行
复制
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()
  })
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63286347

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档