写点什么

软件测试学习笔记丨 Selenium 多窗口切换

作者:测试人
  • 2024-05-29
    北京
  • 本文字数:560 字

    阅读完需:约 2 分钟

本文转自测试人社区:https://ceshiren.com/t/topic/22517说明:本篇博客基于 selenium 4.1.0

场景说明

  • 场景:点击某个按钮后,页面是在一个新的浏览器中出现。如百度的’更多’按钮

  • 问题:浏览器可能自动切换到了新页面,但是 selenium 的 driver 还停留在旧页面,导致无法操作新页面

  • 解决:使用 selenium 的窗口切换功能,切换到新页面之后再进行操作



切换步骤

# 步骤1:获取窗口句柄windows = driver.window_handles       # 返回的是一个句柄列表,列表排序为当前窗口顺序
# 步骤2:切换到新窗口driver.switch_to.window(windows[-1]) # 新窗口通常为最后一个,若为其他位置则自行处理
复制代码

示例

import timefrom selenium import webdriverfrom selenium.webdriver.common.by import By
driver = webdriver.Chrome()driver.implicitly_wait(10)driver.get('https://www.baidu.com/')
# 点击'更多'打开新窗口driver.find_element(By.CSS_SELECTOR, '[name="tj_briicon"]').click()print(driver.title) # 输出结果:百度一下,你就知道 -> 浏览器切到了新窗口,但selenium还没有
# 切换窗口windows = driver.window_handlesdriver.switch_to.window(windows[-1])print(driver.title) # 输出结果:百度产品大全 -> 切到新窗口成功

time.sleep(5)driver.quit()
复制代码

软件测试开发免费视频教程分享


发布于: 21 分钟前阅读数: 5
用户头像

测试人

关注

专注于软件测试开发 2022-08-29 加入

霍格沃兹测试开发学社,测试人社区:https://ceshiren.com/t/topic/22284

评论

发布
暂无评论
软件测试学习笔记丨Selenium 多窗口切换_软件测试_测试人_InfoQ写作社区