【问题标题】:Cypress Test: finds no <li> element赛普拉斯测试:找不到 <li> 元素
【发布时间】:2020-10-16 13:24:03
【问题描述】:

我正在尝试从此列表中选择此项目,但它说它不存在

这是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>
......

对于 cypress,我使用以下命令:

cy.get('#select2-billing_country-container').click()
cy.get('li#select2-billing_country-result-c98f-default').click()

但我收到以下错误:

【问题讨论】:

    标签: wordpress testing automated-tests cypress


    【解决方案1】:

    似乎每次加载 DOM 时,id 末尾的文本都会发生变化,因此您需要选择一个定位器来解决该问题,一个选项是不检查整个 id,而是检查部分id,然后点击第三个元素。

    cy.get('li[id*="select2-billing_country"]').eq(2).click()
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-08-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-19
      • 2020-12-23
      • 1970-01-01
      相关资源
      最近更新 更多