You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Robot Framework自动化测试:同一浏览器下多窗口切换问题咨询

多窗口切换问题解决方案

错误原因说明

  • Select Window关键字是SeleniumLibrary 4.0版本前的旧关键字,4.0及以上版本已正式移除,因此会提示关键字不存在,新版统一使用Switch Window关键字实现窗口切换
  • 使用locator=NEW触发索引相同报错,是因为NEW定位符仅匹配「当前操作触发的最新打开窗口」,若当前浏览器存在多个非操作触发的已打开窗口,会出现匹配冲突

对应解决方法

操作触发新窗口后立即切换

新增等待逻辑确保窗口完全加载后再执行切换,避免识别异常

# 点击触发新窗口的元素
Click Element    //*[@id="open_new_window_btn"]
# 等待窗口加载完成
Sleep    2s
# 切换到最新打开的窗口
Switch Window    locator=NEW

切换到固定属性的已打开窗口

使用页面标题或URL定位,稳定性最高,不会出现索引冲突

# 通过页面标题切换
Switch Window    locator=title:目标页面完整标题
# 或通过页面URL切换
Switch Window    locator=url:https://example.com/target_page

按打开顺序切换窗口

先获取全部窗口句柄列表,再按索引指定切换,适配多固定窗口场景

# 获取所有窗口句柄,返回列表按打开顺序排序,索引从0开始
@{all_handles}    Get Window Handles
# 切换到第二个打开的窗口
Switch Window    locator=${all_handles}[1]
# 切回初始第一个窗口
Switch Window    locator=${all_handles}[0]

内容的提问来源于stack exchange,提问作者Marc Cholvi Jaureguizar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 18:45:03