news 2026/4/16 23:55:19

selenium页面切换操作

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
selenium页面切换操作
selenuim页面切换

webdriver只能在一个页面里对元素进行识别和定位。如果有多个页面操作的时候,要先进行页面切换。

切换分两种

1 iframe内嵌页面切换(框架集切换)

# 1 获取iframe标签 iframe = driver.find_element_by_tag_name('iframe') # 2 切换代码 driver.switch_to.frame(iframe) # 操作iframe标签元素 user_input = driver.find_element_by_xpath('//*[@id="q"]') user_input.send_keys('你好,测牛') # 切换回页面 driver.switch_to.default_content() h1 = driver.find_element_by_id('h1')

总结:

1》 切换iframe用的是driver.switch_to.frame(xxx) xxx是获取iframe标签,可以通过id或者tagname等

2 》切换回来用的是 driver.switch_to.default_content()

2 窗口切换

handle=driver.window_handles 以列表的形式返回,默认是找到页面的所有句柄

列表中最后一项目是最新打开的页面的句柄。

driver.switch_to.window(handle[-1]) 括号里要写页面句柄

注意:

操作完当前页面,如果要回到主页面,还要再次切换回去才能操作

driver.switch_to.window(handle[0])

不能使用default_content,这个只针对iframe页面使用。

实例代码:

from selenium import webdriver import os import time driver = webdriver.Chrome() driver.implicitly_wait(15) url = os.path.abspath('index3.html') driver.get(url) # 1 获取a标签,点击跳转新页面 link = driver.find_element_by_id('a') link.click() # 2 切换新页面 handle=driver.window_handles driver.switch_to.window(handle[-1]) driver.implicitly_wait(5) user_input = driver.find_element_by_id('kw') user_input.send_keys('你好') time.sleep(3) # 关闭当前标签页 driver.close() # 切换到默认页 driver.switch_to.window(handle[0]) print(link.text) driver.quit()

最后作为一位过来人也是希望大家少走一些弯路,在这里我给大家分享一些软件测试的学习资料和我花了3个月整理的软件测试自学全栈,这些资料希望能给你前进的路上带来帮助。

视频文档获取方式:
这份文档和视频资料,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享,点下方小卡片即可自行领取。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/13 21:03:37

降低知网AIGC疑似度最有效方法!AI率从100%到5%!

2025年起,高校已明确要求毕业论文要检测AIGC率,AI率高于30%或40%就不能参加答辩,而部分学校、硕士论文更加严格,要求在20%以内。 这其中,大多数高校使用的AIGC检测系统是知网、万方、维普等主流查重系统,这…

作者头像 李华
网站建设 2026/4/16 16:52:04

人工智能之数学基础 优化理论:第四章 凸函数与非凸函数

人工智能之数学基础 优化理论 第四章 凸函数与非凸函数----公式关注公众号 文章目录人工智能之数学基础 优化理论前言一、凸函数的数学定义1. 凸集(Convex Set)2. 凸函数(Convex Function)3. 严格凸 & 强凸二、凸函数的判别方…

作者头像 李华
网站建设 2026/4/16 11:11:32

4G与4G+路由器:技术与实际体验的差异

4G路由器,作为占据大众主流市场的产品种类之一,随着4G这一概念的普及,会逐渐失去市场吗?也许大家也会疑惑这两者的不同。本文,就从这一角度出发,来和大家聊聊这两种路由器的区别。基础差异4G路由器&#xf…

作者头像 李华
网站建设 2026/4/12 0:24:33

还在盲目冲业绩?亚马逊增长双引擎,先重塑内功再谈破局

亚马逊的竞争已经从流量争夺转向转化效率的深度较量,实现可持续增长,关键在于系统化结合“站内转化内功”与“站外精准引流”,构建自我强化的增长飞轮。一、内功筑基:以用户为中心的Listing重塑Listing优化的核心在于高效“对话”…

作者头像 李华
网站建设 2026/4/9 0:55:11

OpenEuler 等 Linux 系统中运行 Vue 项目的方法

在 OpenEuler 等 Linux 系统中运行 Vue 项目,通常需要经过环境准备、项目部署、启动服务三个步骤。以下是详细操作指南: 一、准备运行环境 Vue 项目依赖 Node.js(包含 npm 包管理器),需先安装: 1. 安装 Node.js 和 npm 方法 1:通过系统包管理器(推荐,适合 OpenEule…

作者头像 李华
网站建设 2026/4/16 13:17:25

35、SharePoint开发:架构、特性与部署全解析

SharePoint开发:架构、特性与部署全解析 1. SharePoint架构与页面创建概述 在SharePoint开发中,我们首先从整体上了解其架构。可以使用SharePoint Designer来创建母版页和网站页面。这里需要区分网站页面和应用程序页面,网站页面更侧重于展示内容,而应用程序页面则提供特…

作者头像 李华