2017-10-16 75 views
0

无法使用,因为错误“InvalidElementStateException的机器人框架在输入框中输入文字在输入框中输入文字:消息:无效的元素的状态:元素必须是用户可编辑的,以清除它。 “无法使用机器人框架RIDE IDE

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 [email protected] 

如何解决这个问题???

python2.7版本 硒3.6.0

+1

你试图在'div'元素上输入文本,该元素根据定义不能被编辑 - 而这正是错误所说的。检查并改正定位,它应该结束'input' – Todor

回答

-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] [email protected] 
+0

如何在地球上你能知道,当一个绝对XPath是正确的解决方案?对于第二部分 - 当页面的DOM的变化 - 一些用户交互和JS框架改变的元素,或者在未来建立一些树被修改,abosolute路径将立即失效。 – Todor

+1

@托多尔,谢谢你,你是对的,我们可以用网络元素的其他属性,这些都是恒定的,在这里我们可以使用 '输入文本\t名= loginfmt \t testing.sample @ outlook.com' –