【问题标题】:click link opens a new browser window点击链接打开一个新的浏览器窗口
【发布时间】:2015-01-11 23:18:37
【问题描述】:
我正在使用带有 Selenium2Library 的 Robot Framework IDE。
现在我的问题:
我的测试打开 Firefox 并转到一个页面。此页面上有一个链接。我必须单击链接并继续在新页面上进行测试。但链接不会在同一个浏览器窗口中打开。我尝试使用url=https//...(即在新浏览器窗口中打开的页面的网址)使用关键字“选择窗口”进入新窗口,但本地化仍在第一个浏览器窗口中。我还用第二个窗口的 url 尝试了关键字“切换浏览器”,但它也不起作用。
有人知道如何切换到另一个浏览器窗口吗?
另一个想法是获取链接的 url 并通过关键字“打开浏览器”在新的浏览器窗口中打开它。但我不知道如何获取链接的网址?
【问题讨论】:
-
有一种方法可以使用 selenium webdriver 切换到新窗口。这是link
标签:
selenium-webdriver
robotframework
【解决方案1】:
尝试根据标题切换到新窗口:
Select Window title=<Title of the new window>
您可以使用 -Get Window Titles 获取窗口标题
【解决方案2】:
我有同样的问题。这是一个解决方案:
${exportlink}= Get Element Attribute name=exportUrl@value
Log ${exportlink}
sleep 2
${exportwindow}= Replace String url=ExportLink ExportLink ${exportlink}
Log ${exportwindow}
Go to ${exportlink}
Select Window ${exportwindow}
Wait Until Page Contains Element xpath=/html/body 300
Wait Until Page Contains Export is completed. 300
【解决方案3】:
默认情况下,定位器与窗口句柄、名称、标题和 URL 匹配。匹配按此顺序完成,并选择第一个匹配窗口。
添加以下脚本即可切换到新窗口-
切换窗口定位器=新