第十二节:上传文件

对于 web 页面的上传功能一般会有以下几种方式。
普通上传:普通的附件上传都是将本地文件的路径作为一个值放
input 标签中,通过 form 表单提交的时候将这个值提交给服务器。

插件上传:一般是指基于 Flash JavaScript Ajax 等技术所实现的上传功能或插件。

第一种:普通上传


如果能找上传的 input 标签,那么基本都可以通过 send_keys()方法向其输入一个文件地址来实现上传。 

第二种:AutoIt 实现上传
AutoIt :是一个使用类似 BASIC 脚本语言的免费软件,它设计用于Windows GUI(图形用户界面)中进行自动化操作。它利用模拟键盘按键,鼠标移动和窗口/控件的组合来实现自动化任务。 

官方网站:https://www.autoitscript.com/site/
从网站上下载 AutoIt 并安装,安装完成在菜单中会看到



操作步骤:

步骤1. 打开AutoIt Windows Info 工具,鼠标点击 Finder Tool,鼠标将变成一个小风扇形状的图标,按住鼠标左键拖动到需要识别的控件上 。

AutoIt Windows Info 识别“文件名”输入框控件




AutoIt Windows Info 识别“打开”按钮控件

通过以上两个步骤得到如下内容:

窗口的 title 为“打开”,标题的 Class 为“#32770”。
文件名输入框的
class 为“Edit”,Instance 为“1” ,所以 ClassnameNN 为“Edit1”(可通过Control标签页查询到该属性)。
打开按钮的
class 为“Button”,Instance 为“1” ,所以 ClassnameNN 为“Button1”。 

步骤2、根据 AutoIt Windows Info 所识别到的控件信息打开 SciTE Script Editor 编辑器,编写脚本 ,保存(**.au3)并通过TOOLS-->F5/GO运行脚本

重要说明:运行脚 本时,上传窗口必须为打开状态。

重要说明:在编写脚本输入路径时,是用一个反斜杠,否则会报无效文件名的错误提示。正确文件路径为:d:\baidu.txt


   脚本解释:

ControlFocus()方法用于识别 Window 窗口。

WinWait()设置 10 秒钟用于等待窗口的显示,其用法与WebDriver 所提供的 implicitly_wait()类似。

ControlSetText()用于向“文件名”输入框内输入本地文件的路径。

Sleep()方法与 Python time 模块提供的 Sleep()方法用法一样,不过它是以毫秒为单位,Sleep(2000)表示固定休眠 2000 毫秒。

ControlClick()用于点击上传窗口中的“打开”按钮。
步骤3:打开 Compile Script to.exe工具,将au3脚本文件转为 exe 可执行文件


点击“Browse”选择 upload.au3 文件,点击“Convert”按钮将其生成为 upfile.exe 程序。
步骤4:自动化脚本通过os.system(command)语句调用执行upfile.exe,完成上传操作


到底,通过autoIt v3完成上传功能。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值