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,這個網址可以進行測試,很好用。這個只是單文件上傳,其實,多文件上傳思路是一樣的,我後續還會繼續完善的。
在這裏插入圖片描述

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