selenium弹窗之windows下载文件弹窗点击方法

本文探讨Selenium中处理Windows环境下文件下载弹窗的方法,介绍两种主要解决方案:PyUserInput模块与PyAutoGUI模块。由于PyUserInput依赖难以安装,最终采用更新维护良好的PyAutoGUI模块实现对特定坐标位置的点击,以自动处理下载弹窗。

一、弹窗类型

一般说到selenium中的弹窗包括以下三种类型:
类型一:窗口柄
在这里插入图片描述
这种窗口常说的就是窗口句柄,其实并不能算弹窗,应该属于窗口切换

类型二:web弹窗
使用如下命令导致的:

browser = webdriver.Firefox()

browser.implicitly_wait(0.1)
browser.get('https://www.bilibili.com/')
browser.execute_script('window.scrollTo(0,document.body.scrollHeight)')
browser.execute_script('alert("to botton")')

在这里插入图片描述

第三种:windows弹窗
在这里插入图片描述
参见《selenium+python自动化–文件下载弹窗处理(PyKeyboard)
selenium+python自动化99–文件下载弹窗处理(PyKeyboard)》,链接: link.

据这篇文章所述,这种弹窗并不是web界面的弹窗,我尝试过定位,确实不行,因为元素都找不到。因而这种弹窗我称之为windows弹窗,即不可以通过selenium的鼠标、键盘操作完成,用动作链也不行

二、windows下载文件弹窗点击方法

pyuserinput模块

大部分文章对于这种弹窗的点击方法使用的是PyUserInpu模块

但是这个模块需要pyhook模块,但是这个模块pip无法下载,
在这里插入图片描述

直接下载PyUserInput 也不行
在这里插入图片描述
有解决下载的文章《https://blog.youkuaiyun.com/zhusongziye/article/details/79241410》,链接: link.
具体怎么样没有尝试,一看就很麻烦

其中pyhook最新版本为2008年的
在这里插入图片描述
pyuserinput也是2016年的了,
在这里插入图片描述
长时间没有更新,怕有许多问题就没有继续安装了

pyautogui模块

在《python之鼠标、键盘模拟》,链接: link.
找到了这个pyautogui模块,最新版2020
在这里插入图片描述
近期更新的,一看比较靠谱,就用了这个模块
下载文件弹窗的点击方法
在这里插入图片描述
在这里插入图片描述

具体的点击位置需要慢慢调,我的弹窗解决方法
代码:

import pyautogui

pyautogui.moveTo(505,410)
pyautogui.click()
pyautogui.moveTo(765,465)
print('ok')

在这里插入图片描述

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值