我无法通过量角器选择下拉值。 下面是下拉代码。
<select kendo-drop-down-list="dropDownControl" k-ng-model="value"
k-options="options" ng-disabled="readOnly=='true'"
class="ppKendoDropDown" w6set-kendo-combo-items-width=""
data-role="dropdownlist" style="display: none;">
<option value="-1">Not Defined</option>
<option value="541999104" selected="selected">Region1</option>
<option value="542007296">test region</option>
</select>
下面是完整的div
<div html-compile="keyControlTemplate"><w6-drop-down value="valueObject" property-name="propertyName" model-controller="ngModel" options="options" strings="strings" state="state" key-data-service="dataService" related-object-name="relatedObjectName" display-property-name="displayPropertyNameValue" sort-property-name="sortPropertyNameValue" default-value="defaultValue" filter-items="filterItems" filter-operation="filterOperation" related-parent-property="relatedParentProperty" parent-value="parentValue" ng-readonly="readOnly" mandatory="mandatory" change="onChange()" ng-class="{'error-input': formSubmitted && ngModel.$invalid }" class="ng-scope ng-isolate-scope" readonly="readonly">
<span title="" class="k-widget k-dropdown k-header ppKendoDropDown" unselectable="on" role="listbox" aria-haspopup="true" aria-expanded="false" tabindex="0" aria-owns="" aria-disabled="false" aria-readonly="false" style="" aria-busy="false" aria-activedescendant="418efbdc-cf62-43db-9a45-6d465ebe53ea">
<span unselectable="on" class="k-dropdown-wrap k-state-default"><span unselectable="on" class="k-input ng-scope">Not Defined</span><span unselectable="on" class="k-select"><span unselectable="on" class="k-icon k-i-arrow-s">select</span></span></span>
<select kendo-drop-down-list="dropDownControl" k-ng-model="value" k-options="options" ng-disabled="readOnly=='true'" class="ppKendoDropDown" w6set-kendo-combo-items-width="" data-role="dropdownlist" style="display: none;">
<option value="-1">Not Defined</option>
<option value="541999104">Region1</option>
<option value="542007296">test region</option>
</select>
</span></w6-drop-down></div>
量角器代码:
element.all(by.options('options')).get(1).click();
我想通过索引值选择选项Region1,但低于错误
失败:索引超出范围。尝试访问索引为1的元素,但是 只有0个与定位符by.option(“ options”)
相匹配的元素
感谢您的帮助。
答案 0 :(得分:0)
摘自by.options
的量角器文档:
通过ng-options表达式查找元素。
您在这里没有ng-option
属性。
当然,可以用另一种方式完成
var dropdown = element(by.css('.ppKendoDropDown'))
var opt = dropdown.all(by.css('option')).get(1)
dropdown.click()
opt.click()
答案 1 :(得分:0)
首先,您应该单击下拉列表以打开它。
dropdown=element(by.css('select.ppKendoDropDown'))
dropdown.click();
selectDropdownbynum(dropdown,2)
selectDropdownbyNum(element, optionNum) {
if (optionNum) {
element.all(by.tagName('option')).then(function(options) {
options[optionNum].click();
});
}
}
答案 2 :(得分:0)
您可以选择它们
element(by.id('option id')).sendKeys('option value');
element(by.xpath('//*[@id="option id"]/option[index]')).click();
element(by.cssContainingText('option','value')).click();
这对我有用
答案 3 :(得分:0)
您的下拉菜单使用Kendo UI,它是一个CSS和javascript下拉菜单,而不是本机下拉菜单。
对于大多数css和javascript下拉列表,这些选项不是来自不可见的select
节点,而是通常来自其他元素下的ul
节点。
// click on dropdown to expand options
element(by.css('span.ppKendoDropDown')).click();
// or choose option by text
element(by.xpath('//ul/li[@class="k-item"][text()="test region"]')).click();