0

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

    2023.04.12 | admin | 148次围观

    前言

    相信大家在使用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 pywin32

    其中:是清华大学的镜像文件地址。

    也可选择其他国内源,例如:

    阿里云:

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

    豆瓣:

    (2) 如何安装pyHook

    从下载对应版本的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函数下的属性的说明。

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

    最后: 下方这份完整的软件测试视频学习教程已经整理上传完成,朋友们如果需要可以自行免费领取 【保证100%免费】

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

    软件测试技术交流群社:746506216(里面还有工作内推机会,毕竟我们是关系社会。)
    

    软件测试面试文档

    我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

    面试文档获取方式:

    版权声明

    本文仅代表作者观点。
    本文系作者授权发表,未经许可,不得转载。

    标签: selenium
    发表评论