Python+Seleium+Autolt实现自动化上传文件

一、下载Autolt

我这里下载的是zip解压就能用,其实需要的3个文件里面都有,只不过在都这个文件夹里面。所以下载这一个就行了
在这里插入图片描述
地址:https://www.autoitscript.com/site/autoit/downloads/

二、解压后把3个需要的文件发到桌面

在这里插入图片描述
需要用到的3个文件,我当时以为是分开的,没少趟坑,这点是独有的
在这里插入图片描述

三、这个需要安装Seleium我就不写了,没有的可以看到我其他博客

https://blog.csdn.net/qq_43107323/article/details/105423492

四、用Pycharm编写代码

1、单文件上传

import os
from selenium import webdriver

driver = webdriver.Chrome()
driver.get('https://www.layui.com/demo/upload.html')
driver.find_element_by_id("test1").click()
# 上传经过autoIT编译好的exe文件
os.system("D:\\test1.exe")

切记:这个一定不要放在C盘,这里有2个最大的坑:
1、不要放到C盘,可能是没有管理员权限,会导致不仅不会运行上传,还输出乱码。
2、那个路径一定是\\2个线,一个会识别不出来,那个\是转义符,所以路径一定都是\\开头。

五、用AutoIt Window Info 文件进行捕捉窗口信息

1、首先打开AutoIt Windows Info 工具,鼠标点击Finder Tool,按住鼠标左键拖动到需要识别的控件上。
在这里插入图片描述
在这里插入图片描述
过识别可知道:
窗口的title为“文件上传”,标题的Class为“#32770”。
文件名输入框的class 为“Edit”,Instance为“1” ,所以ClassnameNN为“Edit1”。
打开按钮的class 为“Button”,Instance为“1” ,所以ClassnameNN为“Button1”。

六、使用SciTE Script Editor 工具进行编辑

如果和我的条件一样的话,完全可以复制粘贴,只需要把路径改了就行了。

ControlFocus ( “窗口标题”, “窗口文本”, 控件ID) 设置输入焦点到指定窗口的某个控件上 WinWait (
“窗口标题” [, “窗口文本” [, 超时时间]] ) 暂停脚本的执行直至指定窗口存在(出现)为止 ControlSetText (
“窗口标题”, “窗口文本”, 控件ID, “新文本” ) 修改指定控件的文本 Sleep ( 延迟 ) 使脚本暂停指定时间段
ControlClick ( “窗口标题”, “窗口文本”, 控件ID [, 按钮] [, 点击次数]] ) 向指定控件发送鼠标点击命令
其中,title即AutoIt Window Info识别出的Title字段,controlID即AutoIt Window
Info识别出的Class和Instance的拼接,如上图拼接后的结果应为:Button1

;ControlFocus( "窗口标题", "窗口文本", 控件ID) 设置输入焦点到指定窗口的某个控件上
ControlFocus("打开","","Edit1")
;WinWait( "窗口标题" [, "窗口文本" [, 超时时间]] )  暂停脚本的执行直至指定窗口存在(出现)为止
WinWait("打开","",10)
;ControlSetText( "窗口标题", "窗口文本", 控件ID, "新文本" )   修改指定控件的文本
ControlSetText("打开","","Edit1","C:\Users\ZF\Desktop\zf.png")
;Sleep( 延迟 )   使脚本暂停指定时间段,这里是以毫秒为单位的
Sleep(1000)
;ControlClick( "窗口标题", "窗口文本", 控件ID [, 按钮] [, 点击次数]])   向指定控件发送鼠标点击命令
ControlClick("打开","","Button1")

在这里插入图片描述
AutoIT脚本编写完成后,保存,可以通过菜单栏“Tools”–>“Go” 或F5运行一下脚本。
注意:运行的时候,上传窗口需处于打开状态。

七、使用Aut2exe_x64.exe进行转换

在这里插入图片描述
切记:转完以后一定把.exe文件剪切到其他盘里面。

八、直接运行Python文件就行了,就可以进行文件上传了

这里可以使用https://www.layui.com/demo/upload.html,这个网址可以进行测试,很好用。这个只是单文件上传,其实,多文件上传思路是一样的,我后续还会继续完善的。
在这里插入图片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章