selenium+python自动化79-文件下载(SendKeys)

时间:2022-08-25 21:39:27

前言

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

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

只支持python2环境

python3 的用 PyUserInput 看这篇 selenium+python自动化85-python3.6上SendKeys报错用PyUserInput取代

一、下载场景

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

selenium+python自动化79-文件下载(SendKeys)

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}")   # 发送回车键

学习过程中有遇到疑问的,可以加selenium(python+java) QQ群交流:646645429

也可以关注下我的个人公众号:

selenium+python自动化79-文件下载(SendKeys)

《selenium webdriver基于python源码案例》已出书:selenium webdriver基于Python源码案例(购买此书送对应PDF版本)

selenium+python自动化79-文件下载(SendKeys)

selenium+python自动化79-文件下载(SendKeys)的更多相关文章

  1. selenium+python自动化98--文件下载弹窗处理(PyKeyboard)

    前言 在web自动化下载操作时,有时候会弹出下载框,这种下载框不属于web的页面,是没办法去定位的(有些同学一说到点击,脑袋里面就是定位!定位!定位!) 有时候我们并不是非要去定位到这个按钮再去点击, ...

  2. selenium+python自动化登录脚本

    利用selenium+python写的一个关于登录的自动化脚本

  3. 【python-excel】Selenium+python自动化之读取Excel数据(xlrd)

    Selenium2+python自动化之读取Excel数据(xlrd) 转载地址:http://www.cnblogs.com/lingzeng86/p/6793398.html ·········· ...

  4. selenium+python自动化79-文件下载(SendKeys)【转载】

    前言 文件下载时候会弹出一个下载选项框,这个弹框是定位不到的,有些元素注定定位不到也没关系,就当没有鼠标,我们可以通过键盘的快捷键完成操作. SendKeys库是专业的处理键盘事件的,所以这里需要用S ...

  5. selenium+python自动化85-python3.6上SendKeys报错用PyUserInput取代

    前言 python2上安装SendKeys库,对于不好定位的元素,用快捷键操作是极好的,那么在3.6上安装时,会报错 python3.6安装SendKeys报错 1.python3.6安装SendKe ...

  6. selenium+python自动化100-centos上搭建selenium启动chrome浏览器headless*面模式

    环境准备 前言 selenium在windows机器上运行,每次会启动界面,运行很不稳定.于是想到用chrome来了的headless*面模式,确实方便了不少. 为了提高自动化运行的效率和稳定性,于 ...

  7. selenium+python自动化之元素定位

    自动化按步骤拆分的话,可以分为四步操作:定位元素,操作元素,获取返回结果,断言(返回结果与期望结果是否一致),最后自动出测试报告.本篇接下来讲基本的八种元素定位方法.说的通俗一点,就是教大家找对象. ...

  8. selenium+python自动化之操作浏览器

    一.打开网站 1.第一步:从selenium里面导入webdriver模块 2.打开Firefox浏览器(Ie和Chrome对应下面的) 3.打开百度网址 二.设置休眠 1.由于打开百度网址后,页面加 ...

  9. selenium+python自动化之环境安装

    一.Python安装 1.操作系统:win7 64位系统 2.下载Python安装包,选择2.7版本和3.6版本都可以(最好安装2.7版本稳定)官网下载地址:https://www.python.or ...

随机推荐

  1. 两种open()函数

    C语言中文件操作函数中,open()有两种形式: 一种形式是有两个参数open2: 另一种形式是有三个参数open3: 共有的参数有两个,第一个是"被打开文件的路径",第二个是&q ...

  2. RMS问题整理

    1. 客户端提示"102错误"或者"意外错误,请与管理员联系" 解决方法:在确定Office2003已经安装SP3补丁以后请安装KB978551补丁 下载地址: ...

  3. jQuery基础--样式篇(4)

    jQuery选择器: 1.id选择器:通过id名来获取节点,id是唯一的,每个id在页面上只能使用一次. $( "#id" ) 2.类选择器:通过class样式类名来获取节点 $( ...

  4. Linux_常用命令_03_磁盘/挂载_信息查看

    1. 1.1. mount 不带参数的话,显示的是 当前已经挂载的情况 1.2. df 不带参数的话,硬盘分区状况查询 2. 2.1. cat /proc/partitions 2.2. fdisk ...

  5. MyBatis插入多条

    <insert id="insertProjectPropertyRelList" parameterType="java.util.List"> ...

  6. Android中XML格式数据的简单使用

    源码: package com.wangzhu.demo; import java.io.IOException; import java.io.StringWriter; import javax. ...

  7. GCD中有哪几种Queue?你自己建立过串行Queue吗?背后的线程模型是什么样的

    一共有五种,看图 Paste_Image.png 主线程也就是那个main,一般后台处理数据就就用default那个.创建过一个queue,处理NSMutableArray的时候都在在这一个queue ...

  8. BZOJ 3367&colon; &lbrack;Usaco2004 Feb&rsqb;The Big Game 球赛&lpar; dp &rpar;

    dp(i)表示前i个人最少坐多少辆车, dp(i) = min(dp(j) + 1, dp(i)) (0 <= j < i 且 (i, j]的人能坐在一辆车上) 时间复杂度O(n²) -- ...

  9. Windows Server 2012 蓝屏 Wpprecorder&period;sys 故障

    坑爹的园区昨天停电了,导致运行中的服务器中断,来电之后,其中有一台Windows 系统的服务无法运行了,接了个显示器,发现无法进入系统了,挂掉了,这下可完蛋了,虽然做了Radio 磁盘阵列,数据不会丢 ...

  10. STM32407&plus;LAN8720A&plus;LWIP 实现TCP Client

    硬件 一.配置CubeMax工程 二.配置系统时钟 因为LAN8720使用的是外部25MHz的晶振,所以不需要单片机输出时钟 三.配置ETH和LWIP参数 四.更改代码 LAN8720A在初始化的时候 ...