赛普拉斯如何存储<select>元素中的所有选项文本?

问题描述

我想存储下拉字段中的所有选项文本。应用代码

<select id="regionSelect" onchange="setRegionalManagerInfo()" data-val="true" data-val-required="The Region field is required." name="RegionalInfo.RegionId" class="form-control input-validation-error">
   <option selected="selected" value="" data-regionalmanageremail="" data-regionalmanagerphonenumber="" data-regionalmanagerphonenumberextension="">— Select —</option>
   <option value="1" data-regionalmanageremail="[email protected]" data-regionalmanagerphonenumber="(123) 456-7890">Region 1</option>
   <option value="2" data-regionalmanageremail="[email protected]" data-regionalmanagerphonenumber="(123) 456-7890">Region 2</option>
   <option value="5" data-regionalmanageremail="[email protected]" data-regionalmanagerphonenumber="">Region 3</option>
</select>

解决方法

使用 .then().map() 的组合更容易做到这一点,

cy.get('select option').then($options => {
  return  [...$options].map(option => option.innerText)
})
,
    let array = []
    cy.get('select option').each(($option,index )=> {
        array.push(Cypress.$($option).text())
        console.log(array[index]);               
    })

是获取数据的简单方法。现在,此数据存储在数组中,因此您可以访问each内部和外部的内容。