python3+selenium 切换窗口方法

第一种:

使用场景:
打开多个窗口,需要定位到新打开的窗口

使用方法:

python 复制代码
# 获取打开的多个窗口句柄
windows = driver.window_handles
# 切换到当前最新打开的窗口
driver.switch_to.window(windows[-1])
举例说明:

# _._ coding:utf-8 _._

from selenium import webdriver
import time

# 打开课工场网站主页【第一个窗口】
driver = webdriver.Chrome()
driver.get('http://www.kgc.cn/')
driver.maximize_window()

# 点击全部课程,进入课程库【第二个窗口】
driver.find_element_by_link_text('全部课程').click()
time.sleep(3)

# 使用第一种方法切换浏览器【切换到第二个窗口】
windows = driver.window_handles
driver.switch_to.window(windows[-1])
time.sleep(3)

# 点击课程库中的某个课程,进入课程详情界面【在第二个窗口页面进行元素点击操作,来判断窗口是否切换成功】
driver.find_element_by_xpath('//*[@id="yw1"]/ul/li[2]').click()
time.sleep(3)

# 关闭浏览器
driver.quit()
print('测试通过')
---------------------

第二种方法:
使用场景:

打开两个窗口,需要定位到新打开的窗口

使用方法:

# 获得打开的第一个窗口句柄
window_1 = driver.current_window_handle
# 获得打开的所有的窗口句柄
windows = driver.window_handles
# 切换到最新的窗口
for current_window in windows:
  if current_window != window_1:    driver.switch_to.window(current_window)
举例说明:
---------------------

# _._ coding:utf-8 _._

from selenium import webdriver
import time
from selenium import webdriver
import time

# 打开课工场网站主页【第一个窗口】
driver = webdriver.Chrome()
driver.get('http://www.kgc.cn/')
driver.maximize_window()

# 点击全部课程,进入课程库【第二个窗口】
driver.find_element_by_link_text('全部课程').click()
time.sleep(3)

# 使用第二种方法切换浏览器【切换到第二个窗口】
window_1 = driver.current_window_handle
windows = driver.window_handles
for current_window in windows:
  if current_window != window_1:
    driver.switch_to.window(current_window)
    time.sleep(3)

# 点击课程库中的某个课程,进入课程详情界面【在第二个窗口页面进行元素点击操作,来判断窗口是否切换成功】
driver.find_element_by_xpath('//*[@id="yw1"]/ul/li[2]').click()
time.sleep(3)

# 关闭浏览器
driver.quit()
print('测试通过')

两种方法的区别:
1、第一种方法比较简单,能提升整体代码的性能
2、第二种方法是大家最常用的方法,比较容易理解
相关推荐
程序员小远5 天前
自动化测试基础知识总结
自动化测试·软件测试·python·selenium·测试工具·职场和发展·测试用例
程序员三藏6 天前
Web自动化测试详解
自动化测试·软件测试·python·selenium·测试工具·职场和发展·测试用例
深蓝电商API6 天前
Selenium 5.0 全新架构解析:值得升级吗?
爬虫·selenium
小白学大数据9 天前
线上故障急救:依托 OpenClaw 日志排查 403 和 503 问题
爬虫·python·selenium·数据分析
糖果店的幽灵9 天前
AI 驱动 Selenium 测试框架最佳实践:从传统自动化到智能体测试
人工智能·selenium·自动化
Maydaycxc9 天前
Python 实现 RPA + AI 自动化:大模型 OCR + 网页操作完整源码实战
人工智能·python·opencv·selenium·自动化·ocr·rpa
赵大大宝9 天前
Selenium 从入门到精通:自动化测试与爬虫实战全攻略
爬虫·selenium·测试工具
深蓝电商API12 天前
Playwright vs Puppeteer vs Selenium 2026终极对比
爬虫·selenium·puppeteer·playwright
ClouGence14 天前
不用写 Selenium,零代码的 UI 自动化测试工具!
selenium·测试
@zulnger16 天前
selenium 操作浏览器
前端·javascript·selenium