selenium获取多窗口句柄并一一切换至原窗口句柄(三个窗口)
发表于:2025-12-03 作者:千家信息网编辑
千家信息网最后更新 2025年12月03日,网上有很多是selenium基于python来获取两个窗口句柄与切换,本文实现用python+selenium获取多窗口句柄并一一切换至原窗口句柄(三个窗口),且在每个窗口下进行一个搜索或翻译,然后截
千家信息网最后更新 2025年12月03日selenium获取多窗口句柄并一一切换至原窗口句柄(三个窗口)
网上有很多是selenium基于python来获取两个窗口句柄与切换,本文实现用python+selenium获取多窗口句柄并一一切换至原窗口句柄(三个窗口),且在每个窗口下进行一个搜索或翻译,然后截图。
代码如下:
# coding=utf-8from selenium import webdriverimport timedriver = webdriver.Chrome()driver.maximize_window() # 窗口最大化driver.get('https://www.baidu.com') # 在当前浏览器中访问百度time.sleep(2)#print(driver.current_window_handle)# 输出当前窗口句柄(百度)frist_handle = driver.current_window_handle# 新开一个窗口,通过执行js来新开一个窗口,访问搜狗js='window.open("https://www.sogou.com");'driver.execute_script(js)# 再新开一个窗口,通过执行js来新开一个窗口,访问有道js='window.open("http://www.youdao.com/");'driver.execute_script(js)handles = driver.window_handles # 获取当前窗口句柄集合(列表类型)print(handles) # 输出句柄集合for handle in handles:# 切换窗口(切换到有道) if handle != frist_handle: driver.switch_to_window(handle) #print(driver.current_window_handle) # 输出当前窗口句柄(有道) driver.find_element_by_id("translateContent").send_keys("selenium") #有道翻译selenium driver.find_element_by_css_selector("button").click() #driver.find_element_by_css_selector("[data-rlog='search-popup-close-win']").click() driver.find_element_by_css_selector("[class='close js_close']").click() #关闭弹窗 driver.get_screenshot_as_file("D:\windows\\youdao.jpg") # 截图 可自定义截图后的保存位置(D:\windows)和图片命名(youdao.jpg) time.sleep(5) breakdriver.close() #关闭当前窗口(有道)for handle in handles:# 切换窗口(切换到搜狗) if handle != frist_handle: driver.switch_to_window(handles[-1]) #此时只剩两个句柄,取最后一个 #print(driver.current_window_handle) # 输出当前窗口句柄(搜狗) driver.find_element_by_id("query").send_keys("selenium") #搜狗搜索selenium driver.find_element_by_id("stb").click() time.sleep(2) #等待2s为了截完整搜索结果图 driver.get_screenshot_as_file("D:\windows\\sougou.jpg") # 截图 可自定义截图后的保存位置和图片命名 time.sleep(5) breakdriver.close() #关闭当前窗口(搜狗)#driver.switch_to_window(frist_handle) #切换回百度窗口driver.switch_to_window(handles[0]) #切换回百度窗口driver.find_element_by_id("kw").send_keys("selenium") #百度搜索seleniumdriver.find_element_by_id("su").click()time.sleep(2) #等待2s为了截完整搜索结果图driver.get_screenshot_as_file("D:\windows\\baidu.jpg") #截图 可自定义截图后的保存位置和图片命名time.sleep(5)driver.quit() #退出浏览器截图如下:
句柄
切换
截图
搜狗
搜索
新开
输出
位置
图片
两个
搜索结果
浏览器
结果
浏览
三个
最大
代码
类型
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
数据库如何输入颜色代码
数据库库名怎么看
车控软件开发工程师
服务器硬件安全
修改数据库表字段
紫光华山服务器图片
网络安全日在哪一天
大数据网络安全现状分析
南京点牛互联网科技
搭建代理服务器要求
本科网络安全考试题
网信办春节网络安全检查
北京通信软件开发标准
成都华宇科讯网络技术
查询域名的邮件服务器
湖北时代网络技术创新服务
计算机网络技术的好处和坏处
英雄联盟国际服服务器试选
民政局网络安全责任制度
网络技术发展阶段包括有哪些
网络技术实训室设备报价
网络安全白帽子原则
大龙服务器
数据库有关连接的问题
pps无法连接服务器
中学生网络安全大赛英语翻译
金苗系统如何更改数据库ip地址
数据库插值
网络安全主要目标是什么
ssm 数据库连接池