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

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

前言

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

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

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

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

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

 

相关文章
|
8天前
|
Web App开发 数据可视化 Python
Python Selenium获取boss直聘招聘信息
Python Selenium获取boss直聘招聘信息
24 5
Python Selenium获取boss直聘招聘信息
|
7天前
|
数据采集 Python
如何用Python Selenium和WebDriver抓取LinkedIn数据并保存登录状态
本文介绍了使用Python Selenium和WebDriver库抓取LinkedIn数据的方法。首先,安装Selenium库和对应的WebDriver,然后配置爬虫代理IP以避免频繁请求被检测。接下来,设置user-agent和cookies以模拟真实用户行为,实现登录并保持状态。登录后,使用WebDriver抓取目标页面数据,如用户名、年龄、性别和简历信息。最后,强调了优化代码、处理异常和遵守使用条款的重要性,以提高效率并避免账号被封禁。
如何用Python Selenium和WebDriver抓取LinkedIn数据并保存登录状态
|
1天前
|
Linux 程序员 Python
python-office支持Mac和Linux吗?自动化办公用这个就够了
大家好,我是程序员晚枫。今天解答关于`python-office`是否支持Mac和Linux的问题。起初因需调用Office功能,该项目不完全支持这两个系统。现已通过拆分子项目解决了这一限制,例如`poexcel`可在多平台上运行Excel相关功能。只需简单修改导入语句,如使用`import poexcel`替代`import office`,即可在Mac和Linux上顺利执行。学习或使用中有任何疑问,欢迎留言交流!
|
5天前
|
Web App开发 数据采集 测试技术
五分钟轻松掌握 Python 自动化测试 Selenium
本文主要介绍了 Selenium 相关内容,主要涉及 Selenium 知识面,从开始的 Python 小案例,到后面的 API 全面了解,以及 Selenium 的常用功能,到最后的 XPATH 以及爬虫的认知。这些内容已经能够全面,且具有实践性。
|
5天前
|
弹性计算 JSON 开发工具
"一键玩转阿里云ECS!Python大神揭秘:如何自动化创建镜像并跨地域复制,让你的云资源部署秒变高效达人!"
【8月更文挑战第14天】本文介绍如何使用Python与阿里云SDK自动化管理ECS镜像,包括创建镜像及跨地域复制,以优化云资源部署。首先安装`aliyun-python-sdk-ecs`并配置阿里云凭证。接着,通过Python脚本实现镜像创建与复制功能,简化日常运维工作并增强灾难恢复能力。注意权限及费用问题。
19 2
|
8天前
|
IDE 测试技术 持续交付
Python自动化测试与单元测试框架:提升代码质量与效率
随着软件行业的发展,代码质量和效率变得至关重要。自动化测试与单元测试是保证质量、提升效率的关键。Python凭借其简洁强大及丰富的测试框架(如Selenium、Appium、pytest和unittest等),成为了实施自动化测试的理想选择。本文将深入探讨这些框架的应用,帮助读者掌握编写高质量测试用例的方法,并通过持续集成等策略提升开发流程的效率与质量。
27 4
|
8天前
|
Web App开发 IDE 测试技术
天呐!当揭开 Selenium 自动化测试框架的神秘面纱,设计与实现令人瞠目!
【8月更文挑战第12天】Selenium 是一强大自动化测试框架,用于Web应用测试。它含WebDriver、IDE和Grid等工具,支持Chrome、Firefox等浏览器。可通过编程模拟用户交互验证应用功能。例如使用Python结合Selenium WebDriver编写自动化测试脚本,实现打开网页、操作元素及断言等功能。还可结合测试框架和Selenium Grid提升测试效率和并行执行能力。
20 1
|
1天前
|
数据采集 数据安全/隐私保护 Python
Selenium与Web Scraping:自动化获取电影名称和评分的实战指南
在信息时代,Web Scraping 成为核心技能之一,尤其在面对如豆瓣电影这类动态网页时更为重要。本文介绍如何运用 Selenium 这一强大的自动化工具,配合代理 IP、User-Agent 及 Cookie,实现对豆瓣电影名称与评分的有效抓取。通过设置代理 IP 来规避访问限制,调整 User-Agent 以模拟真实用户行为,并利用 Cookie 保持会话状态,确保数据抓取的稳定性和隐蔽性。文中还提供了完整的 Python 代码示例,帮助读者快速上手实践。
|
4天前
|
Shell 网络安全 Python
网络工程师如何在ensp模拟器上玩python自动化配置交换机。
网络工程师如何在ensp模拟器上玩python自动化配置交换机。
|
6天前
|
运维 监控 大数据
深入探讨网络自动化的魅力所在,以及如何利用Python这一强大工具,实现网络设备的批量配置与监控
在信息洪流的浪潮中,网络自动化如同一盏明灯,引领着我们穿越复杂网络管理的迷雾。它不仅简化了网络运维人员的工作,更是在大数据、云计算等技术飞速发展的背景下,成为了构建高效、稳定网络环境的关键。本文将深入探讨网络自动化的魅力所在,以及如何利用Python这一强大工具,实现网络设备的批量配置与监控,以此展现网络自动化在简化复杂网络管理中的重要作用。
18 0