单击“应用”链接时,它将在 Robot 框架中打开一个新浏览器。如何获取该页面的当前 url?这是代码:
Open Server
Set Browser Implicit Wait 60
Go To ${server}/jobs
Element Should Be Visible xpath=.//*[@id='txtjobsearch']
Input Text xpath=.//*[@id='txtjobsearch'] ${job Title search}
Element Should Contain xpath=(.//*[@class='clearfix tit-job']/div)[1] ${Job title}
Element Should Be Visible xpath=(.//*[@class='btn btn-sm btn-primary btnApply'])[1]
Click Element xpath=(.//*[@class='btn btn-sm btn-primary btnApply'])[1]
在此行之后,它会打开一个新窗口。如何获取新打开页面的url并进行输入文本等操作?
Set Browser Implicit Wait 20
Wait Until Page Contains Element xpath=.//*[@class='text-primary']
试试这个:
${url}= Get Location
使用 执行 Javascript SeleniumLibrary 关键字可以轻松获取当前 URL:
${url} = Execute Javascript return window.location.href;
您是否尝试过使用“选择窗口”关键字?
http://rtomac.github.io/robotframework-selenium2library/doc/Selenium2Library.html#Select%20Window
Click Link popup_link # opens new window
Select Window popupName
Title Should Be Popup Title
Select Window # Chooses the main window again
您似乎希望验证新窗口的网址,这应该可以通过以下方式轻松实现:
Select Window | url=https://google.com
显然您需要将上面的网址替换为您期望的网址。 让我们知道您的进展如何。
如果在机器人测试打开经过身份验证的 URL(例如 google auth 等)后您位于浏览器页面上,那么 获取位置 可能会返回一个包含大量详细信息的相当大的字符串。
但是,登录后,如果您单击浏览器上的任意随机元素,然后尝试获取位置,您将获得所需的 URL。当然,然后您只需从返回的字符串(URL)中删除先前单击的随机项目部分即可。