selenium获取多窗口句柄并一一切换至原窗口句柄(三个窗口)
发表于:2024-10-25 作者:千家信息网编辑
千家信息网最后更新 2024年10月25日,网上有很多是selenium基于python来获取两个窗口句柄与切换,本文实现用python+selenium获取多窗口句柄并一一切换至原窗口句柄(三个窗口),且在每个窗口下进行一个搜索或翻译,然后截
千家信息网最后更新 2024年10月25日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安全错误
数据库的锁怎样保障安全
上海嵌入式软件开发定制
2020网络安全课观后感
计算机网络安全设计与应用
网络安全检查数据泄露
万方数据库和知网数据库
电力网络安全防护划分
呼叫中心数据库
sql两个数据库a表b表
429网络安全日360
轻量云服务器30m带宽
网络安全事件又不能断网怎么办
江西库存软件开发平台
软件开发转正提问
广德库存软件开发服务价钱
网络安全赋能新基建
九江桔子软件开发有限公司
任子行网络安全审计系统默认IP
开发数据库时首要环节是什么
科幻文学与网络技术
对德软件开发
wits数据库
无锡个人软件开发诚信服务
计算机网络安全设计与应用
计算机网络技术毕业要什么证
汛前防汛通信网络安全
江西pdu服务器电源生产厂家
怎样设置服务器管理地址
郑州投注软件开发
山东服务器硬盘销售
服务器安全狗下载官网