【问题标题】:unable to enter text in input box using Robot framework RIDE IDE无法使用机器人框架 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 结尾

标签: robotframework


【解决方案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
猜你喜欢
  • 2015-11-03
  • 2014-03-16
  • 2017-07-31
  • 2016-11-15
  • 2020-03-20
  • 2021-05-02
  • 1970-01-01
  • 2017-04-05
  • 2017-08-02
相关资源
最近更新 更多