Selenium成长之路-18多窗口切换

2023-11-07

在实际测试过程中,打开多窗口是进行测试是很正常的事情,那么在自动化测试中,也需要开启多窗口来进行测试。

我们来分析一下,打开多窗口测试的思路:

1.打开一个目标网页 

2.再次打开新的网页

3.获得所有窗口的

4.循环判断窗口是否为当前窗口

5.回到原先窗口

6.关闭并退出浏览器

代码如下:

 

# coding = utf-8
from selenium import  webdriver
from selenium.webdriver.common.by import By
import time

driver = webdriver.Chrome()
url =' https://passport.baidu.com/v2/?login'
driver.get(url)

#获取当前窗口
nowhandle = driver.current_window_handle

#在登录页面,点击"立即注册"按钮
driver.find_element(By.LINK_TEXT,'立即注册').click()

#获得所有窗口
allhandlers = driver.window_handles

#循环判断窗口是否为当前窗口
for handle in allhandlers:
    if handle != nowhandle:
        driver.switch_to_window(handle)
        print("这是新窗口!")
    time.sleep(3)

#回到原先窗口
driver.switch_to_window(nowhandle)
#增加一个url地址判断
urlh1 = driver.current_url
# print(driver.current_url)
try:
    url = urlh1
    print("test pass")

except Exception as e:
    print("test faile",format(e))


time.sleep(3)
driver.quit()

这里运用到的新方法:

current_window_handle:获得当前窗口句柄

window_handles:获得所有窗口句柄

switch_to_window():用于处理多窗口之间的切换

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Selenium成长之路-18多窗口切换 的相关文章

随机推荐

  • imp-00003:oracle error 959 encountered

    imp 00003 oracle error 959 encountered 背景描述 今天imp 导入dmp dmp中有6张表 且均为同一用户的表 其中四张导入成功 还有两张表导入失败 提示 imp 00003 oracle error
  • 集成学习介绍——Random Forest

    随机森林是一个非常直观 理解起来也比较容易的Bagging算法 前面我们介绍过决策树 其最大的一个缺点就是容易过拟合 随机森林则是由若干决策树组成的模型 其思想就是 三个臭皮匠顶个诸葛亮 比如下图 就是由9个决策树组成的一个随机森林 其中6
  • React Native入门(四)——入门小结

    1 js跳转Activity后 按home键再切回应用白屏 解决方案 修改MainActivity或目标Activity启动方式 总之不能全部为SingleTask 2 代码报错修改后无法链接nodejs服务了 解决方案 尝试在nodejs
  • Pytorch 深度学习入门与实践 第二章 pytorch快速入门 (1)

    python常用库及模块 1 文件管理的相关库 os 该模块为操作系统接口模块 提供了一些方便使用操作系统的相关功能函数 在读写文件时比较方便 2 时间和日期 time 该模块为时间的访问和转换模块 提供了各种时间相关的函数 方便时间的获取
  • Git使用手册/Git教程:git push 推送提交本地仓库代码文件到远程仓库

    相关文章 关于验证是否存在ssh配置以及生成SSH Key的方法可以参照文章 Git使用手册 生成SSH Key 关于SSH Key的使用和公钥在gitHub gitLab的配置等 请参考文章 Git使用手册 使用SSH Key及配置SSH
  • 关于知道后序序列和中序序列确定前序序列

    以下是大神的解释 摘自洛谷题解 比较清晰 DEBAFCG EDBFGCA 首先这棵树的根是A 后序排列的最后一个 输出A 然后在中序排列中找到A的位置 发现它左右各有三个点 分别是它的左右子树 把中序排列左边三个点和后序排列的前三个点作为左
  • python 定时器使用教程 apscheduler模块,检查文件夹

    1 简介 apscheduler是python中的任务定时模块 它包含四个组件 触发器 trigger 作业存储 job store 执行器 executor 调度器 scheduler 2 安装 pip install apschedul
  • Spring 入门(控制反转IOC、依赖注入DI、Bean的作用范围、Bean的生命周期)

    1 什么是框架 框架 Framework 是整个或部分系统的可重用设计 表现为一组抽象构件及构件实例间交互的方法 另一种定义认为 框架是可被应用开发者定制的应用骨架 前者是从应用方面而后者是从目的方面给出的定义 2 Java中的框架 Str
  • 电脑阅卷系统

    本软件利用电脑外接摄像头 和用普通纸张打印 或复印 的答题卡进行选择题的阅卷 能实时播报成绩产生作答分析 软件名称是 精易摄像头阅卷软件 功能特色 1 精易软件的设计精度和速度已达到实际使用需要 填涂到位的情况下读卡速度是每张答题卡用时1
  • 决策树应用实例③——银行借贷模型

    决策树系列目录 文末有惊喜彩蛋 决策树 信息熵 信息增益 基尼系数 决策树 决策树算法原理 ID3 C4 5 CART 决策树 决策树参数介绍 分类和回归 决策树 决策树Sklearn调参 GridSearchCV调参及过程做图 决策树 P
  • NoSQL数据库简介

    NoSQL代表 不仅是SQL 指的是一种数据库管理系统 旨在处理大量非结构化和半结构化数据 与使用具有预定义架构的表格格式的传统SQL数据库不同 NoSQL数据库是无模式的 并且允许灵活和动态的数据结构 NoSQL数据库是必需的 因为它们可
  • 解决:Not creating XLA devices, tf_xla_enable_xla_devices not set

    解决 Not creating XLA devices tf xla enable xla devices not set 实验环境 提示如下 分析原因 解决方法 实验环境 Windows 10 NVIDIA GeForce GTX 105
  • 易经中的一些见解

    曾仕强教授 易经不只是用来趋吉避凶 低端讲法 高端讲法 持正向善 云端讲法 心安理得 求得好死 好死指的是死得其时 死得其所 死得心安理得 趋吉避凶是手段 不是目的 顺自然 重人伦 自作自受 缺角 修治 完人 慎始 反省提升 善终 人生的乐
  • InvokeHelper调用引发异常

    代码原来的实现是 try InvokeHelper catch GetLastError 好吧 引发了异常 但是GetLastError 永远为零 状况了 网上又找不到相关资料 知道自己一步一步地从InvokeHelper跟踪进去 发现里面
  • Spring Cloud OpenFeign 超时设置与开启重试

    超时设置 数据中台HRestful API请求 feign okhttp enabled true client config default 日志打印级别 loggerLevel basic 跨服务接口请求超时 readTimeout 2
  • Windows操作系统截屏快捷键

    1 Print Screen截屏 不只是win10系统独有的 只要在键盘上按下 Print Screen 键 就会截取当前屏幕并储存在剪切板中 进入文档编辑器 文本文档除外 图片处理工具 QQ等聊天窗口进行粘贴 Ctrl V 操作 就可以获
  • os.path函数简要分析

    os模块简介 os模块实现了在路径上的一些有用的功能 os path abspath path 返回一个绝对路径名 import os path abspath os path abspath User home Work print ab
  • 静态代码扫描环境搭建(mac)

    一 安装要求 1 1 软件要求 在进行sonarqube环境安装和搭建前务必确定当前机器和平台配置满足如下要求 机器上需要安装java Oracle JRE 11 或 OpenJDK 11 SonarQube服务器需要的java版本为11
  • 数据分析-数据清洗与整理

    1 数据清洗 第一步 对异常值进行处理 首先 查看原数据库是否一样 然后 查询是否信息录入时出现错误 最后 看看是不是顾客随意填写的信息 第二步 对离群值进行处理 首先 查询是否与原数据库一致 然后 查询是否信息录入错误 最后 判断是否符合
  • Selenium成长之路-18多窗口切换

    在实际测试过程中 打开多窗口是进行测试是很正常的事情 那么在自动化测试中 也需要开启多窗口来进行测试 我们来分析一下 打开多窗口测试的思路 1 打开一个目标网页 2 再次打开新的网页 3 获得所有窗口的 4 循环判断窗口是否为当前窗口 5