无法使用机器人框架 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 在输入框中输入文本的主要内容,如果未能解决你的问题,请参考以下文章

机器人框架 - 无法在 MacOS 上启动 RIDE

vue实现输入框中输完后光标自动跳到下一个输入框中

在 python 中导入 sikuli 模块时遇到问题。我正在使用 RIDE 运行 python 脚本

Robot Framework IDE (RIDE) 执行配置文件未显示

机器人框架、RIDE、关键字错误

测试Selenium录制单元测试脚本