如何使用机器人框架 selenium2Library 单击框架内的链接?



下面是我的代码,我可以登录到该页面,但登录后我无法注销。

最大化浏览器窗口

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"]

我希望这能解决你的问题。

最新更新