我正在尝试使用Protractor为Angular的端到端测试选择下拉列表中的选项“India”。
以下是选择选项的代码片段:
<select id="countryCode" class="form-control nux-select input-md ng-touched ng-dirty ng-valid-parse ng-valid ng-valid-required" required="" data-ng-model="selectedCountry" data-ng-options="c.country for c in country" name="countryCode">
<option class="" selected="" value="">-- select --</option>
<option value="0">Afghanistan</option>
<option value="1">Albania</option>
.
.
.
<option value="29">Brazil</option>
<option value="30">British Indian Ocean Territory</option>
.
.
.
<option value="98">India</option>
<option value="99">Indonesia</option>
我已经尝试过:
element(by.cssContainingText('option', 'India')).click();
但是由于"英属印度洋领地"选项出现在"印度"之前,所以选择该选项而不是"印度"。
因此,我尝试了以下方法,它可以解决问题:
element(by.xpath('//select[@id="countryCode"]/option[98]')).click();
但是由于我正在硬编码,并且可能会添加新值到下拉菜单中,有人可以建议我实现不同的方法。