Selenium 切换窗口

复制代码
'''
环境:
Python 3.8
selenium==3.141.0
urllib3==1.26.19
'''

'''
说明:
driver.current_window_handle # 返回当前窗口的句柄
driver.window_handles # 返回当前由driver启动所有窗口句柄,是个列表
driver.switch_to.window(handle) # 根据 handle 切换窗口
'''
python 复制代码
# -*- coding: UTF-8 -*-

from selenium import webdriver
import time

# 谷歌浏览器位置
CHROME_PATH = r'xxx\\chrome.exe'
# 谷歌浏览器驱动地址
CHROMEDRIVER_PATH = r'xxx\\chromedriver.exe'

options = webdriver.ChromeOptions()
options.add_experimental_option("excludeSwitches", ["enable-automation"])
options.add_experimental_option("useAutomationExtension", False)
options.binary_location = CHROME_PATH
driver = webdriver.Chrome(executable_path=CHROMEDRIVER_PATH, options=options)

# 第一个窗口 打开百度
driver.get('https://www.baidu.com/')
time.sleep(3)
handle_baidu = driver.current_window_handle
print(handle_baidu)  # CDwindow-E8B2BA11FBCE9C5FF7A39E34C8056B88
print(driver.title)  # 百度一下,你就知道

# 第二个窗口 打开 Bing
new_tab_url = 'https://cn.bing.com/'
driver.execute_script(f'window.open("{new_tab_url}", "_blank");')
# 确保第二个窗口打开
time.sleep(3)
# 获取所有窗口句柄
handles = driver.window_handles
print(handles)  # ['CDwindow-E8B2BA11FBCE9C5FF7A39E34C8056B88', 'CDwindow-8B22C4B42A61E59D68C384C9E4C6653B']

# 切换到最新窗口
driver.switch_to.window(handles[-1])
print(driver.title)  # 必应

# 切换到 百度窗口
driver.switch_to.window(handle_baidu)
print(driver.title)  # 百度一下,你就知道

# 设置固定等待
time.sleep(50)
driver.quit()
复制代码
'''
参考:
python自动化测试selenium(四)切换页面、切换窗口
https://blog.csdn.net/u010835747/article/details/125501993
'''
相关推荐
程序员小远7 天前
自动化测试基础知识总结
自动化测试·软件测试·python·selenium·测试工具·职场和发展·测试用例
LT10157974447 天前
2026年Web自动化测试工具选型指南:多浏览器兼容解决方案
前端·测试工具·自动化
程序员三藏7 天前
Web自动化测试详解
自动化测试·软件测试·python·selenium·测试工具·职场和发展·测试用例
深蓝电商API8 天前
Selenium 5.0 全新架构解析:值得升级吗?
爬虫·selenium
专业机床数据采集8 天前
基于 Wireshark 抓包逆向设备通信协议,并用 C# UDP协议跨平台 实现宝元数控程序列表读取、上传、下载和删除
网络·测试工具·wireshark·程序传输·宝元数控·dnc·数控程序传输
程序员龙叔8 天前
从 0 开始学习 AI 测试 - 从接口测试来教你如何用 AI 来生成自动化测试代码
自动化测试·软件测试·python·软件测试工程师·测试工具·性能测试·ai测试
Saniffer_SH8 天前
【高清视频】Gen6 服务器还没到,Gen6 SSD 怎么测?Emily 现场演示三种测试环境
人工智能·驱动开发·测试工具·缓存·fpga开发·计算机外设·压力测试
川石课堂软件测试8 天前
APP自动化测试|高级手势操作&toast操作
css·功能测试·测试工具·microsoft·fiddler·单元测试·harmonyos
LT10157974448 天前
2026年开源自动化测试工具选型指南:功能与适用场景解析
测试工具·开源·自动化