InvalidElementStateException:消息:无效的元素状态:元素当前不可交互,可能无法操作

时间:2018-01-22 00:31:37

标签: python selenium selenium-webdriver selenium-chromedriver robotframework

我正在使用SeleniumLibrary for Robot Framework,我确实遇到了输入文本功能的问题:

HTML:

<div class="form-group">
<label class="col-sm-6 control-label" for="gngFeeValue" >What is the expected Fee Value?</label>
    <div class="col-sm-4">
            <input id="gngFeeValue" data-role="numerictextbox"
                                        data-format="###,###,###,###,###,##0"
                                        data-decimals="0"
                                        data-spinners="false"
                                        data-bind="value: gng.feeValue, disabled: isInputDisabled" placeholder="Enter fee value" />
        </div>
</div>

TEST.robot:

Expected Fee Value - Value

[Arguments]    ${expectedFeeValue}
Input Text   //*[@id="gngFeeValue"]    ${expectedFeeValue}

我收到错误:

InvalidElementStateException: Message: invalid element state: Element is not currently interactable and may not be manipulated

任何可以帮我解决这个问题的人?谢谢!

2 个答案:

答案 0 :(得分:0)

您尝试与之互动的网络元素要么无法点击,要么被禁用,或者可能是浏览器的视口之外。 Selenium API仅在活动的可交互式组件上成功。使用 Javascript 作为最后一英里解决方案。

答案 1 :(得分:0)

我有同样的问题。我找不到特定表单上的任何元素。

我意识到我可以正常使用表格之外的元素。因此,我开始调查html,发现它位于 iframe 中。

要解决此问题,我只需要SeleniumLibrary Select Frame

Select Frame                        xpath=//*[@id="iframe"]