python+webdriver+autoit实现百度云盘文件上传

本文介绍了如何使用Python的selenium库配合WebDriver和AutoIt工具来自动化百度云盘的文件上传过程。首先分析网页元素,然后进行登录操作,接着在弹出的文件上传窗口中,利用AutoIt识别并操作Windows控件,实现文件的选择和上传。详细步骤包括获取控件信息、编写AutoIt脚本及Python调用AutoIt执行文件选择。

web上传文件的功能一般有两种方式:
1. 普通上传:将本地文件的路径作为一个值放在input标签中,通过form表单将这个值提交给服务器
2. 插件上传:一般指基于Flash,Javascript,或者Ajax等技术实现的上传功能

下面举例说明自动化百度云盘的上传功能:

1.分析页面:

实现步骤:
1. 登录页面
2. 找到上传控件
3. 在打开的上传文件的窗口中选中要上传的文件

2.登录页面的元素:

这里写图片描述

这里写图片描述
可以确定其xpath为:
/html/body/div[1]/div[1]/div[2]/div[3]/div[2]/form/p[5]/input
使用同样的方法,找到密码和“登录”按钮的xpath

driver = webdriver.Firefox()
driver.get("http://wangpan.baidu.com//")
#登录
driver.find_element_by_xpath('/html/body/div[1]/div[1]/div[2]/div[3]/div[2]/form/p[5]/input').send_keys('用户名')
window与linux美中不足的就是自动化操作,linux中只要简单的shell脚本就能实现大量批处理操作,可是windows中大部分程序主要GUI(界面)完成的,在这种近况下大量的冗余操作无聊而又容易出错。有没有办法完美的windows自动化呢?终于找到好东西了autoit3 AutoIt v3 是用以编写并生成具有 BASIC 语言风格的脚本程序的免费软件, 它被设计用来在Windows GUI(用户界面)中进行自动操作. 通过它可以组合使用模拟键击,鼠标移动和窗口/控件操作等来实现自动化任务, 而这是其它语言所无法做到或尚无可靠方法实现的 (比如VBScript和SendKeys). AutoIt 非常小巧,完全运行在所有windows操作系统上. (thesnow注:现在已经不再支持win 9x,微软连XP都能放弃,何况一个win 9x支持), 并且不需要任何运行库. AutoIt 最初是为PC(个人电脑)的"批量处理"而设计, 用于对数千台PC进行(同样的)配置. 现在,autoit是一个支持复杂表达式, 自定义函数,循环等的强大脚本软件. AutoIt 可以做的事: 简单易懂的类 BASIC 表达式 模拟键盘,鼠标动作事件 操作窗口与进程 直接与窗口的"标准控件"交互(设置/获取 文字,移动,关闭,等等) 脚本可以编译为标准可执行文件 创建用户图形界面接口(GUI) COM支持 正则表达式 直接调用外部DLL 和 Windows API 函数 程序运行为功能(让程序运行于其它账户) 详细易懂的帮助文件于基于社区的支持论坛 完全兼容于 Windows 2000 / XP / 2003 / Vista / 2008 Unicode 与 64位 运算支持 高精度,易使用的数学运算 可以运行于 Windows Vista Account Control (UAC) AutoIt 被设计得尽可能小, 并且不用依赖外部DLL文件或添加注册表项目即可独立运行. 也可以安全的成为服务运行. 脚本可以使用Aut2Exe编译为可独立运行的文件 此外我们还设计了 AutoIt 的 ActiveX 和 DLL 版本 —— AutoItX 这是个组件化的语言(COM 同一 DLL 文件中的标准DLL函数). AutoItX 将使得您可以加入一些AutoIt 独有的特性到您最常用的脚本语言或程序设计语言中去! 最重要的是,AutoIt 将继续是免费的!!!!
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值