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函数下的属性的说明。

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

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

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

相关推荐
AlanBruce10 小时前
摩尔信使MThings功能综述与应用使用指南
linux·自动化·plc·mthings·摩尔信使
搞科研的小刘选手12 小时前
【武汉举办 | JPCS出版 | EI稳定检索】2026年智能制造、自动化与控制国际学术会议(IMAC 2026)
自动化·智能制造·控制·学术会议·会议推荐
海宇AI13 小时前
零信任架构实战:基于海宇柠檬查出险-登记证构建自动化车抵贷核保网关
java·人工智能·架构·自动化
可爱系程序猿14 小时前
WSD 打印机时好时坏:从发现服务、地址变化到 Standard TCP/IP 端口的迁移记录
网络·网络协议·tcp/ip·程序人生·电脑
硬禾科技15 小时前
连接世界的工程哲学
嵌入式硬件·测试工具·自动化·硬件工程
YFJ_mily16 小时前
9.24早鸟通道即将关闭|IMRA2026智能制造机器人自动化IEEE会议|往届EI稳定检索,设有学生专属投稿权益
人工智能·机器学习·机器人·自动化·智能制造·rdlink研发家·马鞍山会议
梧桐凰16 小时前
AI 时代测试工程师的武器库:实战工具指南
人工智能·功能测试·测试用例
跨境小彭18 小时前
Temu运营避坑:制造地点信息填写规范、后果及批量实操教程
大数据·运维·自动化·跨境电商·temu
郝学胜-神的一滴20 小时前
Effective Python 条款 13:善用星号解包,告别下标切片拆分的坑
服务器·开发语言·数据结构·python·程序人生·pycharm
Allen_LVyingbo1 天前
医疗人工智能项目全生命周期管理系统:监管知识建模、工程实现与实证评估(下)
大数据·数据库·人工智能·python·自然语言处理·自动化