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

b1475e0cc30eec4beb853e7544e56462.png 特别鸣谢 本文来自柠檬班-python自动化第25期 铃铛同学 在做作业时遇到的问题,并提供的解决方案! 如果你是柠檬班的学生,热烈欢迎你来投稿技术文章哦! 前言 eeaa99c6e1760a2bb19af79edcb7d516.png

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

a66b7acf21cb390df382a8ee7902341e.png

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

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

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

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

解决方案 eeaa99c6e1760a2bb19af79edcb7d516.png

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

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

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

具体解决步骤 eeaa99c6e1760a2bb19af79edcb7d516.png
步骤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键:

f4778b55363e05c9da6f68c17dcf0181.png

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

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

d10c25519716f8fff5f0b5563a4da9f9.png

说明:本文为柠檬班小简老师原创,转载需注明出处

23c7b556999d33bd8d525502dbb06ef8.png 91d0eb2cdc92c4b59948196969677851.png

关注微信公众号

领取100G测试资料

让软件测试学习变得更简单!

23c7b556999d33bd8d525502dbb06ef8.png 如果你还有其他的解决方案 欢迎留言交流哦! be50853105f3cf573f86faa31381192f.png
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值