无法使用机器人框架 RIDE IDE 在输入框中输入文本
Posted
技术标签:
【中文标题】无法使用机器人框架 RIDE IDE 在输入框中输入文本【英文标题】:unable to enter text in input box using Robot framework RIDE IDE 【发布时间】:2018-03-27 14:55:32 【问题描述】:由于错误“InvalidElementStateException: Message: invalid element state: Element must be user-editable to clear it.”而无法使用机器人框架在输入框中输入文本。
Open Browser https://outlook.live.com/owa/ chrome
Maximize Browser Window
sleep 5
Click Element Xpath=/html/body/section/div/div[2]/div[2]/div/div
Input Text Xpath=//[@id="i0281"]/div[1]/div/div[1]/div[2]/div/div/div[2]/div[2]/div/div[2]/div testing.sample@outlook.com
如何解决这个问题???
python2.7版本 硒 3.6.0
【问题讨论】:
您正在尝试在div
元素上输入文本,根据定义,该元素无法编辑 - 这就是错误的含义。检查并修复您的定位器,它应该以 input
结尾
【参考方案1】:
这里,ID 字段正在改变,所以使用绝对 xpath 将解决这个问题,这是我的工作代码...
*** Settings ***
Library Selenium2Library
*** Test Cases ***
RnD - Test1
Open Browser https://outlook.live.com/owa/ chrome
Maximize Browser Window
Wait Until Element Is Visible Xpath=/html/body/section/div/div[2]/div[2]/div/div 10
Click Element Xpath=/html/body/section/div/div[2]/div[2]/div/div
Wait Until Element Is Visible xpath=//body/div[1]/form[1]/div[1]/div/div[1]/div[2]/div/div/div[2]/div[2]/div/input[1]
Input Text //body/div[1]/form[1]/div[1]/div/div[1]/div[2]/div/div/div[2]/div[2]/div/input[1] testing.sample@outlook.com
【讨论】:
你到底是怎么知道的,什么时候绝对 xpath 是正确的解决方案?对于第二部分 - 每当页面的 DOM 发生变化时 - 通过某些用户交互和 js 框架更改元素,或者在将来构建树中的某些内容时,绝对路径将立即失败。 @Todor,谢谢,你是对的,我们可以使用web-element的其他属性,这些属性是不变的,这里我们可以使用Input Text name=loginfmt testing.sample@outlook.com
以上是关于无法使用机器人框架 RIDE IDE 在输入框中输入文本的主要内容,如果未能解决你的问题,请参考以下文章
在 python 中导入 sikuli 模块时遇到问题。我正在使用 RIDE 运行 python 脚本