如何在 Robot Framework 中从当前选项卡切换到下一个打开的选项卡

How to switch from current tab to next opened tab in Robot Framework

提问人:Ankita Negi 提问时间:12/24/2019 最后编辑:HelioAnkita Negi 更新时间:10/15/2020 访问量:14354

问:

如何在机器人框架中的类似浏览器中从当前选项卡切换到下一个打开的选项卡。

Selenium 机器人框架

评论


答:

5赞 forkdbloke 12/24/2019 #1

您可以使用 Select Window 关键字在使用 selenium2Library 的浏览器中导航选项卡。

在这里,“选择窗口”关键字根据页面标题选择选项卡。

默认情况下,定位器与窗口句柄、名称、标题、 和 URL。匹配按该顺序完成,并且第一个匹配 窗口被选中。

示例方案

*** Settings ***
Library SeleniumLibrary

*** Test Cases ***
NAVIGATE TABS
    OPEN BROWSER  <<URL>>  FF
    Click Element   << ELEMENT WHICH EXISTS >>
    Select Window    title=<<TITLE NAME>>

如果我们不知道新选项卡的标题/url,并且想要导航到最后一个选项卡,则可以尝试使用以下代码片段,

如果定位器为 NEW(不区分大小写),则最新打开的窗口为 选择。如果这与当前窗口相同,则为错误。

${handle} = Select Window   NEW # Select latest opened window

评论

0赞 Ankita Negi 12/26/2019
我很欣赏你的回答,但在我的情况下<标题名称>不知道它是动态的
0赞 Ankita Negi 1/3/2020
为此,我首先完成了这个 ${Windowtitles[${total_tabs}-1]},我得到了所有的 WindowTitles,并将所有打开的选项卡的数量计算为total_tabs并使用上面的代码我得到了我最新打开的选项卡。
0赞 forkdbloke 1/3/2020
如果答案对您有所帮助,请接受相同的答案。stackoverflow.com/help/accepted-answer
1赞 rawel 10/15/2020 #2

如果要切换回原始选项卡:

Navigate Tabs
    Go To           <<url>>
    Click Element   xpath=<<xpath>>       # opens a new tab
    ${tab1}=        Select Window    NEW  # switch to new tab and get original tab handle 
    Sleep   10                            # do stuff in new tab
    Select Window       ${tab1}           # switch back to original tab