autoIT 自动化上传/下载文件图文详解【python selenium】

转载:原文地址

情景:
在用selenium进行web页面自动化时,时不时会遇到上传附件的情况,常见的情况就是一个上传按钮,点击后弹出windows窗口,选择文件后上传,如下图所示
在这里插入图片描述
使用AutoIt这个工具实现该功能:

1、下载并安装

进入官网:选择AutoIt -> Downloads

https://www.autoitscript.com/

在这里插入图片描述
选择Full Installation版本,点击Download Autolt
在这里插入图片描述
下载后可直接安装
在这里插入图片描述

2、探测软件

首先从“开始”菜单里找到"Au3Info_x64.exe" 打开
在这里插入图片描述
(2).打开需要上传的页面,点击上传,弹出上传窗口;在这里插入图片描述
(3).在AutoIt上面,用鼠标按住Finder Tool不放(鼠标图标变成一个轮子的样子),移动到上传窗口的文本输入框中,然后松开
在这里插入图片描述
松开后查看探测结果
在这里插入图片描述
主要关注图6中红色标注的信息:

窗口标题,即Title,图中是“文件上传”

窗口的class,图中是32770

控件的类型以及编号,图中类型是Edit,编号(Instance)是1,表明是窗口中第一个文本输入框

类似地,重复上面的一步,获取“打开”按钮的信息
在这里插入图片描述

3、编写脚本

从开始菜单中打开SciTE Script Editor,编写内容:
在这里插入图片描述
脚本内容如下,分号开头的是注释:

  ; 等待5秒钟,让上传窗口出现
  WinWait("[CLASS:#32770]","",5)

  ;把输入焦点定位到上传输入文本框中,类型为Edit,编号为1,也就是上面获取到内容
  ControlFocus("文件上传", "","Edit1")  

  ;在文件名那里,输入需要上传的文件绝对路径

  ControlSetText("文件上传", "", "Edit1", 'D:\files\file_name')

  ;等待上传时间,单位是毫秒 1秒 = 1000 毫秒,文件大的话需要设置长点
  Sleep(5000)

  ;点击"打开"按钮,也就是上传,完成整个上传过程
  ControlClick("文件上传", "","Button1");

保存为.au3脚本,然后在浏览器中点击上传,使上传窗口出现,如图1所示,然后在SciTe Scripts Editor里面选Tools -> Go (或直接按F5) 即可看到自动上传效果。

4.转换为exe文件

在开始菜单中打开"Compile sctrip to .exe x64"(32位的机器选x86),然后选择要装换的.au3文件和输出的exe文件路径和名称,最后点击下面的"Convert"即可
在这里插入图片描述
在这里插入图片描述

5.使用python调用

使用配Python调用是,首先用python控制selenium,打开上传窗口,然后用

import os
os.system(r'C:\Users\dell\Desktop\no_argument.exe')  #这里是保存的exe文件,根据自己的实际情况修改

然后跑python脚本,即可完成文件上传。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值