下面是我的代码,我可以登录到该页面,但登录后我无法注销。
最大化浏览器窗口
Input Text //*[@id="userid"] some_user_name
Input Password //*[@id="password"] some_password
Click Button //*[@id="btnSubmit"]
sleep 10s
Select Frame //*[@id="topFrame"]
Page Should Contain Log out
Click Element //*[contains(text(),'Log out')]
原木:
开始测试:WebScraping.NAS Web。欢迎 20191009 15:29:40.801 : 信息 : 打开浏览器"chrome"以基本网址"某些网址"。 20191009 15:29:45.557 : 信息 : 在文本字段"//*[@id="userid"]"中键入文本"******"。 20191009 15:29:45.658 : 信息 : 在文本字段"//*[@id="密码"]"中键入密码。 20191009 15:29:45.739 : 信息 : 单击按钮 '//*[@id="btnSubmit"]'。 20191009 15:29:55.823:信息:睡了10秒 20191009 15:29:55.881 : 信息 : 当前页面包含文本"注销"。 20191009 15:29:55.881:信息:单击元素"//*[包含(text((,"注销"(]"。 20191009 15:29:56.310:FAIL : 找不到带有定位符 '//*[contains(text((,'Log out'(]' 的元素。 结束测试:网络抓取.NAS 网站。欢迎
我认为问题出在以下行:
Select Frame //*[@id="topFrame"]
框架标记不包含 id 属性,而是使用要标识的名称属性。(HTML 标记文档(
使用 @name 代替@id,如下行所示
Select Frame //*[@name="topFrame"]
我希望这能解决你的问题。