当前位置: 首页 > article >正文

在访问一个网页时弹出的浏览器窗口,如何用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函数下的属性的说明。

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

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

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


http://www.kler.cn/a/271939.html

相关文章:

  • ES6语法
  • 从零到上线:Node.js 项目的完整部署流程(包含 Docker 和 CICD)
  • Effective C++ 规则41:了解隐式接口和编译期多态
  • YOLOv5训练自己的数据及rknn部署
  • 【vim】vim怎样直接跳转到某行?
  • C#,入门教程(06)——解决方案资源管理器,代码文件与文件夹的管理工具
  • LeetCode每日一题[C++]-310.最小高度树
  • 【SpringCloud微服务实战08】RabbitMQ 消息队列
  • phpqrcode生成二维码
  • ArrayList 源码解析和设计思路
  • python-0008-修改django数据库为mysql
  • Docker入门二(应用部署、迁移与备份、DockerFile、docker私有仓库、Docker-Compose)
  • 泽众云真机-机型支持ADB调试功能即将上线
  • SpringBoot 中配置日期格式
  • springboot/ssm电子印章管理系统Java印章审批信息管理系统web
  • DDos攻击如何被高防服务器有效防范?
  • (三)OpenOFDM符号对齐
  • 嵌入式学习39-程序创建数据库及查找
  • 网络安全JavaSE第二天(持续更新)
  • [Golang]K-V存储引擎的学习 从零实现 (RoseDB mini版本)
  • 微信小程序(一)
  • Linux字符设备驱动开发一
  • HarmonyOS-鸿蒙系统概述
  • 0基础 三个月掌握C语言(11)
  • 代码算法训练营day9 | 28. 实现 strStr() 、459.重复的子字符串
  • linux gcc使用方法