selenium 网页自动化-在访问一个网页时弹出的浏览器窗口,我该如何处理?

2023-10-31

前言

相信大家在使用selenium做网页自动化时,会遇到如下这样的一个场景:

图片

在你使用get访问某一个网址时,会在页面中弹出如上图所示的弹出框。

首先想到是利用Alert类来处理它。

然而,很不幸,Alert类处理的结果就是没有结果,并不能够将这个弹出框关闭掉。

无法用处理alert的方式来关闭该弹出框,不关闭又无法对页面进行其他操作,怎么办呢?

解决方案

用键盘的Enter键来关闭该弹出框。

由于send_keys方法只能是针对元素来发送selenium的key值,而当前案例无法定位到该弹出框。

所以使用 PyKeyboad 来实现用python操作键盘

具体解决步骤

步骤1:想要使用PyKeyboard,需要先安装:pywin32->pyHook->PyUserInput

(1)安装pywin32

安装国外源的pywin32,会经常遇到因为超时导致安装失败,因此建议用国内源来安装。

可通过cmd来安装国内源的pywin32,指令如下:

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pywin32

其中:https://pypi.tuna.tsinghua.edu.cn/simple是清华大学的镜像文件地址。

也可选择其他国内源,例如:

阿里云:https://mirrors.aliyun.com/pypi/simple/

豆瓣:https://pypi.douban.com/simple/

(2) 如何安装pyHook

从https://blog.csdn.net/dianmomanxue/article/details/95044676下载对应版本的pyHook后,通过cmd进入到该pyHook的文件夹路径后,输入:

pip install pyHook1.5.1cp37cp37mwin_amd64.whl

(3) 如何安装PyUserInput

通过cmd,输入:pip install PyUserInput

步骤2:py文件中导入PyKeyboard,并输入Enter键:

图片

若需要按下其他键,可选中PyKeyboard后,按ctrl+b,查看 special_key_assignment函数下的属性的说明。

本文最开头截图完整的处理代码如下:

图片

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

在这里插入图片描述

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!   

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

selenium 网页自动化-在访问一个网页时弹出的浏览器窗口,我该如何处理? 的相关文章

随机推荐

  • 添加layer的方法

    this gameObject layer LayerMask NameToLayer KongLong 为何这些脚本前边的方框都不见了 是因为这些脚本中没有Start 或者Update FixedUpdate OnGUI 等等方法 测试添
  • 【流媒体协议】RTMP和RTSP的区别

    RTMP和RTSP都是常用的流媒体协议 支持推流和拉流 但是它们的特点不同 应用场景也不同 RTMP协议 全称Real Time Messaging Protocol RTMP将整个视频分割为多个小的片段进行传输 基于TCP 连接稳定 低延
  • Java基础--------网络编程

    参考http www cnblogs com xdp gacl p 3631965 html 点击打开链接 以此为模板 自己做了整理 修改 目录 一 网络的概念 二 网络通信协议及接口 2 1 通信协议分层思想 2 2 参考模型 三 IP
  • AD怎么设置相同网络的线宽

    一 对网络进行分类 快捷键 D C 在弹出的面板中找到 net class 单击右键 选择 Add Class 二 选择网络 选中Net Classes中刚刚建好的类POWER 按住CTRL键 在Non Members中选择5V 20V 先
  • 最强nba体验服显示服务器正在停机,最强NBA玩不了怎么办 游戏进不去玩不了原因分析及解决方法...

    对于一些刚下载好游戏的萌新玩家来说 最头疼的可能就是游戏进不去或玩不了了 那么最强NBA玩不了怎么办 不要慌 小编这就给大家分析下游戏玩不了或进不去的各种原因以及解决方法 类别 体育竞技 大小 471 34M 语言 简体中文 评分 10 最
  • golang for range循环坑

    比较两段代码 package main import fmt func main a int 1 2 3 4 5 6 7 8 9 for len a gt 0 a a 1 fmt Println a 输出 2 3 4 5 6 7 8 9 3
  • 分布式概念

    集群与分布式区别 集群 复制模式 每台机器做一样的事 分布式 两台机器分工合作 每台机器做的不一样 分布式好处 独立开发 部署 测试 易于扩展 复用性高 例如 所有的产品都可以使用该系统作为用户系统 无需重复开发 架构演进 架构演进一 早期
  • python 如何查看模块所有方法-Python查看模块(变量、函数、类)方法

    常用五种方法 前提是要先导入这个包 然后用下面的方法去查看 这名称 可是包 方法 或 类 1 help 名称 2 名称 doc 3 dir 模块名 List item 通过 dir 函数获取到的模块成员 不仅包含供外部文件使用的成员 还包含
  • PySide6/PyQT多线程之 高效管理多线程:暂停、恢复和停止的最佳实践

    前言 关于 PySide6 PyQT 多线程 正确地处理多线程编程并确保线程之间的同步和通信并不容易 本文以一个示例代码为基础 介绍 PySide6 PyQT多线程的运用 展示如何创建和管理线程 以及如何实现线程之间的同步和通信 设想这么一
  • python 切换root 执行命令

    如下 以创建系统用户举例 配置文件配置普通用户信息 登入后切换root用户 创建一个指定名字和密码的系统用户 def create user root pwd username password import paramiko result
  • STM32 RST管脚上拉后一直是0.1V左右的低电平,恶心,终于找到原因,焊锡膏啊

    给自己以后提醒 这次做的STM32平衡车的板子 发现仿真器一直烧写不进去 提示 core is held 先看魔术棒 排除了仿真器连接的问题 上网搜 core is held 原因 网友说应该是复位脚RST的电平没有拉高 但是我的原理图上已
  • 原码、反码、补码基本概念

    基本概念 原码 符号位加上真值的绝对值 也就是第一位表示符号 其余位表示值 0为正值 1为负值 原码是人脑最容易理解和计算的表示方式 反码 正数的反码是其本身 负数的反码是在其原码的基础上符号位不变 其余各位取反 一个反码表示的负数是无法无
  • Golang学习笔记:递归函数

    接前面java写的递归例子 还是计算一个数递减相乘 func test01 n int int result 0 if n lt 1 return 1 else result test01 n 1 n return result 执行一个函
  • IDEA个性化设置注释模板(详细版)

    IDEA设置注释模板 类注释模板 方法注释模板 效果展示 1 类注释模板 类注释模板是IDEA创建类时生成的注释 第一步 File gt Settings 第二步 Editor gt File and Code Templates gt I
  • 苹果核 - 页面动态化的基础 —— Tangram

    12月10日在SFDC SegmentFault Developer Conference 大会上初次介绍了手机天猫的Tangram方案 现场时间有限 讲得匆忙 特此整理记录 这篇内容是Tangram的整体介绍与相关业务开发实践的介绍 后续
  • 一网打尽当下NoSQL类型、适用场景及使用公司

    在过去几年 关系型数据库一直是数据持久化的唯一选择 数据工作者考虑的也只是在这些传统数据库中做筛选 比如SQL Server Oracle或者是MySQL 甚至是做一些默认的选择 比如使用 NET的一般会选择SQL Server 使用Jav
  • 图像处理:RGB与YCbCr

    简要概述一下RGB与YCbCr 方便记忆 RGB与YCbCr都是人为规定的色彩空间 同一种颜色既可以用RGB来表达 存储 也可以用YCbCr来表达 存储 就如同二进制数1111与十进制数15一样 形式不同但是表达的内容是相同的 1 RGB
  • ubuntu关机后无法进入系统

    原因 ubuntu提示内存不足后 关机扩容再次开机 黑屏卡死无法进入登录界面 解决 参考下面的博客 进入Ubuntu Linux Recovery Mode 删除一些目录 释放内存空间后 完美解决 ubuntu黑屏无法进入系统 Recove
  • 章节1 概述 - Segger SystemView使用手册(译文)

    本文博客链接 http blog csdn net bjr2016 作者 bjr2016 未经允许不得转载 1 概述 本节描述SEGGER SystemView的一般使用 1 1 SEGGER SystemView 是什么 SystemVi
  • selenium 网页自动化-在访问一个网页时弹出的浏览器窗口,我该如何处理?

    前言 相信大家在使用selenium做网页自动化时 会遇到如下这样的一个场景 在你使用get访问某一个网址时 会在页面中弹出如上图所示的弹出框 首先想到是利用Alert类来处理它 然而 很不幸 Alert类处理的结果就是没有结果 并不能够将