「浏览器」在访问一个网页时弹出的浏览器窗口,我该如何处理?
前言
相信大家在使用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函数下的属性的说明 。
本文最开头截图完整的处理代码如下:
本文插图
【「浏览器」在访问一个网页时弹出的浏览器窗口,我该如何处理?】说明:本文为柠檬班小简老师原创 , 转载需注明出处
- 『浏览器』奇安信可信浏览器正式发布 打造信创生态安全纽带
- 「老郭说军事」中科院院士,因支持一个数百亿项目备受争议,他是归国的科学家
- 『启上神兵』谁该为这次事故负责?华春莹公布内情,日本驱逐舰被撞开一个大洞
- 『一个蓬蒿人』才跑一半就趴窝,广东暴雨“浇灭”车主好梦:开新能源上高速
- 高考延期一个月,天学网陪伴考生备战百天
- 奇安信可信浏览器正式发布 适配百余款信创应用
- 由我随行:一款让车主每天快乐相伴的APP
- #cnBeta#重大失误?NASA全面向AWS云端迁移数据 却忽略了访问成本
- 「小小快乐口袋」最好别靠近,一个不明物体出现在美国河面下!专家:尺寸太大
- 时期@河北的一个市,有“京东明珠”的美誉,也是全国百强县!