实现思路:
1.handles = driver.window_handles获取当前浏览器打开的所有窗口的句柄,返回数组
2.通过handles数组的索引来在各个窗口之间切换
示例代码如下:
# -*- coding:utf-8 -*- """ 提示:在python文件命名的时候,尽量不要让文件名和类名相同,否则在导入类后使用该类时,会报错 """ from selenium import webdriver from time import sleep import time driver = webdriver.Chrome('E:\eclipse_jar\selenium_jar\chromedriver_lastest\chromedriver.exe') driver.get('http://www.baidu.com') #打开百度 sleep(1) driver.execute_script("window.open('http://www.sogou.com/')") #打开搜狐 sleep(1) driver.execute_script("window.open('http://www.youdao.com/')") #打开有道 sleep(1) driver.execute_script("window.open('http://www.qq.com/')") #打开腾讯 sleep(1) handles = driver.window_handles #获取当前浏览器打开的所有窗口的句柄,返回数组 print(len(handles)) #打印handles数组的长度 print('===========================') driver.switch_to.window(handles[3]) t0 = driver.title driver.save_screenshot('截图\\' + str(int(time.time())) + '.png') #截取当前窗口图片,表示切换成功 driver.close() print('成功关闭窗口:' + t0) print('===========================') sleep(1) driver.switch_to.window(handles[2]) t1 = driver.title driver.save_screenshot('截图\\' + str(int(time.time())) + '.png') #截取当前窗口图片,表示切换成功 driver.close() print('成功关闭窗口:' + t1) print('===========================') sleep(1) driver.switch_to.window(handles[1]) t2 = driver.title driver.save_screenshot('截图\\' + str(int(time.time())) + '.png') #截取当前窗口图片,表示切换成功 driver.close() print('成功关闭窗口:' + t2) print('===========================') sleep(1) driver.switch_to.window(handles[0]) t3 = driver.title driver.save_screenshot('截图\\' + str(int(time.time())) + '.png') #截取当前窗口图片,表示切换成功 driver.close() print('成功关闭窗口:' + t3) print('===========================') sleep(1)
有更好,更简便的方法,欢迎小伙伴儿们交流 (* ̄︶ ̄)