这是html结构:
<span class="select2-results">
<ul class="select2-results__options" role="listbox" tabindex="-1" id="select2-billing_country-results" aria-expanded="true" aria-hidden="false" aria-activedescendant="select2-billing_country-result-jqjd-AS">
<li class="select2-results__option" id="select2-billing_country-result-klqe-default" role="option" data-selected="false" tabindex="-1" aria-selected="false">Seleziona un Paese/una regione…</li>
<li class="select2-results__option" id="select2-billing_country-result-gzkv-AX" role="option" data-selected="false" tabindex="-1" aria-selected="false">Åland Islands</li>
<li class="select2-results__option" id="select2-billing_country-result-n44m-AF" role="option" data-selected="true" tabindex="-1" aria-selected="false">Afghanistan</li>
......
使用赛普拉斯,我使用以下命令:
cy.get('#select2-billing_country-container').click()
cy.get('li#select2-billing_country-result-c98f-default').click()
但是出现以下错误:
答案 0 :(得分:2)
每次加载DOM时,id末尾的文本似乎都在变化,因此您需要选择一个解决该问题的定位器,一种选择是代替检查整个id,我们将检查该部分id,然后单击第三个元素。
cy.get('li[id*="select2-billing_country"]').eq(2).click()