问题描述
我想存储下拉字段中的所有选项文本。应用代码为
<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
内部和外部的内容。