selenium+python自动化99-文件下载弹窗处理

前言

在web自动化下载操作时,有时候会弹出下载框,这种下载框不属于web的页面,是没办法去定位的(有些同学一说到点击,脑袋里面就是定位!定位!定位!)

有时候我们并不是非要去定位到这个按钮再去点击,学会使用键盘的快捷键操作,也能达到一样的效果。

之前讲过一篇

Selenium2+python自动化75-非input文件上传(SendKeys)

这个当时是基于python2写的。

最近很多小伙伴开始用python3了,这个SendKeys在python3上没法用,python3需要用PyUserInput,详细安装教程地址Selenium+python自动化84-python3.6用PyUserInput

安装依赖包:

依赖pywin32

依赖pyHook

PyKeyboard键盘操作

PyUserInput模块里面主要有两个类:

PyMouse, 专门模拟鼠标操作

PyKeyboard,专门模拟键盘上的操作

先用手工在键盘上操作下,记住操作步骤:按Tab键—按Enter键

代码参考

这里用到两个方法,一个是press_key按住Tab键,另外一个是release_key释放按键。其实还有个方法tap_key

tap_key模拟点击

先看下tap_key源码是怎么设计的,实际上tap_key就是封装的press_key和release_key这2个方法

character 传对应的键盘事件

n=1 默认只点一次

interval=0 如果有多次点击操作,中间的间隙时间,默认sleep时间为0

改成tap_key操作

PyKeyboard其它操作

除了能模拟tab,enter这种操作,也能模拟在输入框输入内容.

基本操作方法,如输入h:k.tap_key(“h”)

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180831G0B00J00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励