【问题标题】:Cypress - cy.click() does not click on the value in the select2 drop down赛普拉斯 - cy.click() 不会点击 select2 下拉列表中的值
【发布时间】:2019-10-03 11:44:24
【问题描述】:

我有一个包含 select2 类的下拉菜单。单击下拉菜单中的箭头时,我会在 DOM 中激活以下代码,该代码在下拉菜单中具有 Reason1Reason2 值。我想迭代可用值并选择所需的选项。

使用每个函数,我可以在数组上进行迭代并获取可用值,但我无法对其执行 cy.click() 以获取选定的值。我没有收到任何错误,代码运行正常,但点击没有发生(在 div 、 li 和 span 标签上都没有)

`<ul class="select2-results">
  <li class="select2-results-dept-0 select2-result select2-result-selectable">
     <div class="select2-result-label">
       <span class="select2-match"></span>
        Reason1
     </div>
 </li>
   <li class="select2-results-dept-0 select2-result select2-result-selectable">
     <div class="select2-result-label">
       <span class="select2-match"></span>
       Reason2
     </div>
  </li>
</ul>`

下面是我的代码

    cy.get('#select2-drop > .select2-results').find('li').each(($el,index,$list) => {  
    let option = $el.find('div').text()

    if(option=='Reason2')
    {                
      $el.find('div').click()
    }
 })

如果我在 if 条件中添加$el.find('div').css('background-color','yellow'),元素背景颜色将变为黄色,但点击不会发生。

任何人都可以帮助解决这个问题。 谢谢!

【问题讨论】:

  • 你可以试试 cy.wrap($el).find('div').click() 吗?
  • 感谢@Pigbrainflower - 您的解决方案解决了问题

标签: cypress


【解决方案1】:

如果你想选择第二个,你可以使用这些命令

cy.get('#select2-drop > .select2-results')
    .type("{downarrow}")
    .type("{downarrow}")
    .type("{enter}")

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-01-19
    • 2022-08-19
    • 1970-01-01
    • 2021-10-16
    • 1970-01-01
    • 1970-01-01
    • 2020-10-13
    相关资源
    最近更新 更多