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

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

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

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

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

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

在这里插入图片描述

解决方案

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

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

所以使用 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函数下的属性说明

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

图片

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

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

原文地址:https://blog.csdn.net/2301_78276982/article/details/134606540

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_18375.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注