硒元素不可选择

时间:2014-04-22 17:16:12

标签: c# selenium kendo-ui

我遇到了一个使用鼠标点击工作的元素的问题,并且有一些项目必须从中选择一个但是其不可选择的项目设置为on。

每当我尝试选择元素时

我找回了一个错误 该元素不可见,因此可能无法与

进行交互

但元素可见

我们正在使用kendo UI multiselect

请帮忙 Html代码: -

<div class="k-multiselect-wrap k-floatwrap" unselectable="on">
<ul id="ProfileEditSharedModel_SelectedIndustrySectorIds_taglist" class="k-reset" unselectable="on" role="listbox">
<li class="k-button" unselectable="on">
<span unselectable="on">Sector 1</span>
<span class="k-icon k-delete" unselectable="on">delete</span>
</li>
</ul>
<input class="k-input" style="width: 25px;" accesskey="" role="listbox" aria-expanded="false" tabindex="0" aria-owns="ProfileEditSharedModel_SelectedIndustrySectorIds_taglist ProfileEditSharedModel_SelectedIndustrySectorIds_listbox" aria-disabled="false" aria-readonly="false" aria-busy="false">
<span class="k-icon k-loading k-loading-hidden"></span>
</div>
<select id="ProfileEditSharedModel_SelectedIndustrySectorIds" class="bigselect" name="ProfileEditSharedModel.SelectedIndustrySectorIds" multiple="multiple" data-val-required="*" data-val="true" data-placeholder="Select Sectors..." data-role="multiselect" style="display: none;" aria-disabled="false" aria-readonly="false">
<option value="1">Sector 1</option>
<option value="2">Sector 2</option>
<option value="3">Sector 3</option>
</select>

先谢谢

2 个答案:

答案 0 :(得分:0)

首先尝试获取列表中的元素,因为如果您按类名(例如)查找元素,则可能有多个具有相同类名的元素。 Selenium不会进一步搜索,因为它获得了该标识符的第一个元素,在您的情况下可能看不到。因此,请检查是否对预期元素执行了操作。

答案 1 :(得分:0)

我找到了使用 JavascriptExecutor

的解决方案

它对我有用:

((IJavaScriptExecutor)driver).ExecuteScript(String.Format("$('#{0}').data('kendoMultiSelect').value({1});", "ProfileEditSharedModel_SelectedIndustrySectorIds", 3,));

((IJavaScriptExecutor)driver).ExecuteScript(String.Format("$('#ProfileEditSharedModel_SelectedIndustrySectorIds').data('kendoMultiSelect').value([values]);", "ProfileEditSharedModel_SelectedIndustrySectorIds", 3,));

我在那里使用了剑道MultiSelect