在访问一个网页时弹出的浏览器窗口,如何用selenium 网页自动化解决?

相信大家在使用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函数下的属性的说明。

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

行动吧,在路上总比一直观望的要好,未来的你肯定会感 谢现在拼搏的自己!如果想学习提升找不到资料,没人答疑解惑时,请及时加入扣群: 320231853,里面有各种软件测试+开发资料和技术可以一起交流学习哦。

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

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

相关推荐
少云清3 小时前
【软件测试】5_测试理论 _软件测试分类(重点)
软件测试·单元测试·uat测试·sit测试
优质&青年4 小时前
【Operator prometheus监控系列三---业务监控】
运维·云原生·kubernetes·自动化·prometheus
jinxinyuuuus4 小时前
Wallpaper Generator:高精度图形渲染中的WebGPU与色彩感知工程
程序人生·生活·图形渲染
VoyageSH4 小时前
新功能手动自动化测试策略
功能测试
立志成为大牛的小牛6 小时前
数据结构——四十九、B树的删除与插入
数据结构·学习·程序人生·考研·算法
N***73856 小时前
DevOps工具链搭建:自动化流程的实践
运维·自动化·devops
程序员三藏6 小时前
软件测试之压力测试详解
自动化测试·软件测试·python·测试工具·职场和发展·测试用例·压力测试
jinxinyuuuus9 小时前
Info Flow:分布式信息采集、数据去重与内容分级的工程实现
人工智能·分布式·程序人生·生活
枫叶丹410 小时前
openGauss:面向数字时代的下一代企业级开源关系型数据库
开发语言·数据库·开源·自动化
郝学胜-神的一滴15 小时前
Qt的QSlider控件详解:从API到样式美化
开发语言·c++·qt·程序人生