【发布时间】:2019-10-03 11:44:24
【问题描述】:
我有一个包含 select2 类的下拉菜单。单击下拉菜单中的箭头时,我会在 DOM 中激活以下代码,该代码在下拉菜单中具有 Reason1 和 Reason2 值。我想迭代可用值并选择所需的选项。
使用每个函数,我可以在数组上进行迭代并获取可用值,但我无法对其执行 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