我有一个具有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')
,则元素背景色将变为黄色,但未发生单击。
任何人都可以帮忙。 谢谢!
答案 0 :(得分:0)
如果要选择第二个,可以使用以下命令
cy.get('#select2-drop > .select2-results')
.type("{downarrow}")
.type("{downarrow}")
.type("{enter}")