拓冰建站拓冰建站
首页 / 资讯中心 / 正文

`handles = web.window_handles` 是Selenium Web自动化测试中获取当前浏览器所有打开窗口句柄的代码

核心思路首先通过web.window_handles获取所有打开窗口的唯一标识句柄新弹出的窗口默认在句柄列表的末尾位置调用窗口切换方法即可跳转。 完整代码示例# 1. 先获取当前浏览器所有窗口的句柄存储为列表handlesweb.window_handles# 2. 切换到最新打开的窗口列表最后一个元素对应最新窗口web.switch_to.window(handles[-1]) 补充说明如果要切回最开始的原始窗口使用web.switch_to.window(handles[0])即可若打开了3个及以上窗口可通过下标指定目标窗口比如handles[1]对应第二个打开的窗口handles[2]对应第三个以此类推点击触发新窗口弹出的操作后建议加1~2秒的强制等待time.sleep(2)避免窗口还没加载完成就获取句柄导致切换失败。handles web.window_handles是Selenium Web自动化测试中获取当前浏览器所有打开窗口句柄的代码执行后会将所有窗口的唯一标识以集合/列表的形式赋值给handles变量。其中窗口句柄是浏览器为每个打开的标签页/窗口分配的唯一标识符可用于后续的窗口切换操作。二、配套使用场景获取到所有窗口句柄后通常结合窗口切换方法使用切换到首个打开的窗口由于窗口句柄列表下标从0开始首个窗口对应下标0切换代码为web.switch_to.window(handles[0])切换到第二个新打开的窗口新弹出的窗口通常对应下标1切换代码为web.switch_to.window(handles[1])如果需要切换到更多后续打开的窗口只需按照索引顺序替换方括号内的下标即可。三、常见使用流程当点击页面链接弹出新窗口后通常按以下步骤操作执行handles web.window_handles获取全部窗口句柄调用web.switch_to.window(handles[1])切换到新弹出的窗口完成新窗口内的操作操作完成后如果需要返回原窗口执行web.switch_to.window(handles[0])即可回到最初的页面。总结web.window_handles是Selenium中获取多窗口标识的核心属性主要用于多窗口场景下的切换操作通过下标索引可以快速定位到目标窗口配合switch_to.window()方法就能实现不同窗口之间的自由切换是处理弹出新窗口类自动化测试场景的常用功能。
分享:

看完干货,该让你的企业上线了

免费需求沟通 · 48 小时内出具建站方案 · 河南本地可上门