【发布时间】:2018-12-29 02:18:06
【问题描述】:
我正在尝试使用 Robot Framework (Selenium) 测试 UI。我有一个动态填充的下拉菜单,我必须选择其中的一个文本。我可以单击下拉元素,然后将列表显示为弹出窗口。但无法选择任何元素。当我尝试使用 Select from List 访问下拉列表时,它返回一个错误,指出它不是列表。由于它是动态的,因此 ID 不是恒定的。
*<kendo-dropdownlist name="sel" style="width: 400px;" ng-reflect-data="[object Object],[object Object" ng-reflect-text-field="Name" ng-reflect-value-field="Id" ng-reflect-default-item="[object Object]" ng-reflect-value-primitive="true" ng-reflect-name="sel" class="k-widget k-dropdown k-header ng-valid ng-touched ng-dirty" ng-reflect-model="-9999">
<span role="listbox" unselectable="on" class="k-dropdown-wrap k-state-default k-state-focused" ng-reflect-ng-class="[object Object]" id="5c2a0848-f6fa-433f-a927-8b645ac4047b" dir="ltr" readonly="false" tabindex="0" aria-disabled="false" aria-readonly="false" aria-haspopup="true" aria-expanded="false" aria-owns="c7cb9422-f181-4b66-905e-eaa05305a0e9" aria-activedescendant="b0f86e8c-1fea-4bee-9367-39a207fa4859-undefined">
<span unselectable="on" class="k-input" ng-reflect-ng-class="[object Object]">
<span unselectable="on" class="k-select" ng-reflect-ng-class="[object Object]">
</span>
</kendo-dropdownlist>*
*<kendo-popup class="ng-tns-c7-14 k-animation-container ng-star-inserted k-animation-container-shown" dir="ltr" style="left: 189.6px; top: 338.2px; min-width: 400px; width: 400px;">
<div class="k-popup ng-trigger ng-trigger-toggle k-list-container k-reset" ng-reflect-klass="k-popup" ng-reflect-ng-class="k-list-container,k-reset">
<div kendodropdownsselectable="" class="k-state-focused k-state-selected ng-star-inserted k-list-optionlabel" ng-reflect-ng-class="[object Object]" ng-reflect-index="-1" aria-selected="true" style="">Please Select</div>
<kendo-list ng-reflect-data="[object Object],[object Object" ng-reflect-text-field="Name" ng-reflect-value-field="Id" ng-reflect-height="200" ng-reflect-show="true" ng-reflect-id="c7cb9422-f181-4b66-905e-eaa053" ng-reflect-option-prefix="b0f86e8c-1fea-4bee-9367-39a207" class="ng-star-inserted" style="">
<div unselectable="on" class="k-list-scroller" ng-reflect-ng-class="[object Object]" style="max-height: 200px;">
<ul role="listbox" class="k-list k-reset" ng-reflect-ng-class="[object Object]" id="c7cb9422-f181-4b66-905e-eaa05305a0e9" aria-hidden="false">
<li kendodropdownsselectable="" role="option" class="k-item ng-star-inserted" ng-reflect-ng-class="[object Object]" ng-reflect-index="0" ng-reflect-multiple-selection="false" id="b0f86e8c-1fea-4bee-9367-39a207fa4859-5560" tabindex="-1">
................
................
<li kendodropdownsselectable="" role="option" class="k-item ng-star-inserted" ng-reflect-ng-class="[object Object]" ng-reflect-index="10" ng-reflect-multiple-selection="false" id="b0f86e8c-1fea-4bee-9367-39a207fa4859-5360" tabindex="-1">
</ul>
</div>
</kendo-list>
</div>
</kendo-popup>*
任何帮助或指示将不胜感激。谢谢。
【问题讨论】:
-
在这里查看答案stackoverflow.com/questions/50764183/selenium-with-kendo-ui。希望对你有帮助
标签: selenium dynamic frameworks robotframework dropdown