📅  最后修改于: 2023-12-03 15:26:14.790000             🧑  作者: Mango
在使用 Selenium 进行自动化测试时,常常需要操作新窗口。本文将介绍如何在 Python 中使用 Selenium 控制新窗口。
通过 driver.execute_script()
方法,可以在已有的窗口中打开一个新窗口。
driver.execute_script("window.open('https://www.example.com')")
这会在当前活跃窗口中打开一个新的窗口,并跳转到指定的网址。
在打开了多个窗口之后,需要用 Selenium 控制不同的窗口。可以使用 driver.window_handles
方法获取所有窗口的句柄,然后通过 driver.switch_to.window()
方法切换窗口。
# 获取所有窗口句柄
handles = driver.window_handles
# 切换到新窗口
driver.switch_to.window(handles[-1])
在上述代码中,handles[-1]
表示最后一个打开的窗口,即新窗口。
使用 driver.close()
方法关闭当前活跃窗口,使用 driver.quit()
方法关闭所有窗口并退出浏览器。
# 关闭当前窗口
driver.close()
# 关闭所有窗口并退出浏览器
driver.quit()
下面是一个完整的示例代码,演示了如何在 Python 中打开新窗口并切换窗口。
from selenium import webdriver
# 创建 Chrome 浏览器实例
driver = webdriver.Chrome()
# 打开网页
driver.get('https://www.baidu.com')
# 打开新窗口
driver.execute_script("window.open('https://www.example.com')")
# 切换到新窗口
handles = driver.window_handles
driver.switch_to.window(handles[-1])
# 在新窗口中进行操作
# ...
# 关闭所有窗口并退出浏览器
driver.quit()