前言

文件下载时候会弹出一个下载选项框,这个弹框是定位不到的,有些元素注定定位不到也没关系,就当没有鼠标,我们可以通过键盘的快捷键完成操作。

SendKeys库是专业的处理键盘事件的,所以这里需要用SendKeys解决

一、下载场景

1.当点到下载按钮时候,会弹出如下页面

2.如果想点“保存文件”按钮,解决问题思路:

- 先按TAB键,移动光标聚焦到保存按钮上

- 再按下ENTER键,这样就能保存了

二、代码实现

# coding:utf-8
from selenium import webdriver
import SendKeys
import time

driver = webdriver.Firefox()
driver.get("https://www.autoitscript.com/files/autoit3/autoit-v3-setup.exe")

time.sleep(3)
# 默认在取消按钮上,先切换到保存文件上
SendKeys.SendKeys("{TAB}")  # 发送TAB键

time.sleep(3)
# 火狐上第一次回车没生效,所以多发一次回车
SendKeys.SendKeys("{ENTER}")   # 发送回车键
SendKeys.SendKeys("{ENTER}")   # 发送回车键

最新文章

  1. Failed to execute goal org.codehaus.cargo:cargo-maven2-plugin:1.2.3:run (default-cli) on project Maven_WebTest: Execution default-cli of goal org.codehaus.cargo:cargo-maven2-plugin:1.2.3:run failed: C
  2. java”伪“批量上传
  3. iOS适配HTTPS,创建一个自签名的SSL证书(x509)具体步骤
  4. 黑马程序员——JAVA基础之程序控制流结构之循环结构,循环嵌套
  5. jQuery两句话实现HTML转义与反转义
  6. C++程序设计教程学习(0)-引子
  7. poj 3130 How I Mathematician Wonder What You Are!
  8. c#类初始化器
  9. SQL Server -SET ANSI_NULLS
  10. iOS 开发人员不可缺少的75个工具
  11. 在单机Docker上安装 Traefik 反向代理-负载均衡器
  12. spring学习(四) ———— 整合web项目(SSH)
  13. 急速JavaScript全栈教程
  14. [软件逆向]实战Mac系统下的软件分析+Mac QQ和微信的防撤回
  15. 数列分块入门九题(三):LOJ6283~6285
  16. Python-习题-11
  17. JDK8集合类源码解析 - HashMap
  18. PHP5.6 和PHP7.0区别
  19. .NET Core 2.1路线图
  20. # 课下测试ch02

热门文章

  1. Python如何进行中文注释
  2. Python中运算符"=="和"is"的差别分析
  3. VS2010历史记录清理
  4. Centos7安装GUI桌面
  5. SQL Server 监测语句
  6. 关于全球唯一标识符GUID
  7. mplab c30 注册方法
  8. 2017 Multi-University Training Contest - Team 3 Kanade's trio(字典树+组合数学)
  9. SPOJ DQUERY (主席树求区间不同数个数)
  10. [Leetcode] The minimum depth of binary tree二叉树的最小深度