【问题标题】:Selenium element Not selectable硒元素 不可选
【发布时间】:2014-04-22 17:16:12
【问题描述】:

我遇到了一个可以通过鼠标单击工作的元素的问题,并且有一些项目必须从中选择一个,但它的不可选择设置为打开。

每当我尝试选择元素时

我返回一个错误 该元素不可见,因此可能无法与之交互

但是元素是可见的

我们正在使用剑道 UI 多选

请帮忙 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>

提前致谢

【问题讨论】:

    标签: c# selenium kendo-ui


    【解决方案1】:

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

    【讨论】:

    • 谢谢,我试过了,但我得到错误元素不可见,因此可能无法交互。
    • 在点击之前添加一些等待时间。
    • 然后尝试通过其他标识符(如 XPath 左右)查找元素。如果您可以发布一些相同的 HTML,我可以提供更好的帮助。
    【解决方案2】:

    我发现了一个使用 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,));
    

    我在那里使用了 kendoMultiSelect

    【讨论】:

    • 如果有人可以建议我另一种方法,请帮助我,因为我无法在这里发送多个值
    猜你喜欢
    • 1970-01-01
    • 2019-11-28
    • 1970-01-01
    • 2022-01-15
    • 2015-03-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多