我正在使用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
任何可以帮我解决这个问题的人?谢谢!
答案 0 :(得分:0)
您尝试与之互动的网络元素要么无法点击,要么被禁用,或者可能是浏览器的视口之外。 Selenium API仅在活动的可交互式组件上成功。使用 Javascript 作为最后一英里解决方案。
答案 1 :(得分:0)
我有同样的问题。我找不到特定表单上的任何元素。
我意识到我可以正常使用表格之外的元素。因此,我开始调查html,发现它位于 iframe 中。
要解决此问题,我只需要SeleniumLibrary Select Frame:
Select Frame xpath=//*[@id="iframe"]