首先我们需要去官网下载 autoit3
https://www.autoitscript.com/site/autoit/downloads/
然后我们可以获取安装之后打开
会得到这样一个页面,这个工具能帮助我们去识别上传文件的弹出框
将指针拖动到我们的上传文件的路径
然后我们返回文件夹,打开 SciTE
ControlFocus("打开","","Edit1") #这个相当于selenium的识别窗口 ControlSetText("打开","","Edit1","D:视频文件Farrer Park Hospital Corporate Video.mp4") # 这个是编辑窗口输入的内容 Sleep(2000) ControlClick("打开","","Button1") # 点击打开按钮,进行上传操作
保存文件之后,我们需要将这个文件转换成exe可执行文件
这个时候我们去 Aut2Exe
然后将转换的exe路径拿到,我们就可以进行上传操作了
可以先试试在cmd界面能否上传
"D:file_upload_utils.exe" "chrome" "D:视频文件Farrer Park Hospital Corporate Video.mp4" # 这里是封装了 chrome的执行,因为不同浏览器的操作不一样需要自行去判断
接下来可以对 SciTE中的上传文件的进行封装
;first make sure the number of arguments passed into the scripts is more than 1 If $CmdLine[0]<2 Then Exit EndIf ;if parmas num <2 ,then break ;$CmdLine[0] ;参数的数量 ;$CmdLine[1] ;第一个参数 (脚本名称后面) ;$CmdLine[2] ;第二个参数 ;都是从cmd传入参数 handleUpload($CmdLine[1],$CmdLine[2]) ;定义上传函数,有两个参数,第一个是浏览器名字,第二参数是文件路径 Func handleUpload($browser, $uploadfile) Dim $title ;定义一个title变量 ;根据弹窗的title来判断是什么浏览器 If $browser="ie" Then ; 代表IE浏览器 $title="选择要加载的文件" ElseIf $browser="chrome" Then ; 代表谷歌浏览器 $title="打开" ElseIf $browser="firefox" Then ; 代表火狐浏览器 $title="文件上传" EndIf if WinWait($title,"",4) Then ;等待弹出出现,最大等待时间是4秒 WinActivate($title) ;找到弹出窗口之后,激活当前窗口 ControlSetText($title,"","Edit1",$uploadfile) ;把文件路径放入输入框,此”Edit1“是用FinderTool获取到的 ControlClick($title,"","Button1") ;点击保存或者打开或者上传按钮,此“Button1”使用FinderTool获取到的 Else Return False EndIf EndFunc
然后就能上传视频了,附一个示例代码
import os from common.config_utils import local_config current_path = os.path.dirname(__file__) file_path = os.path.join(current_path, local_config.get_upload_path) def upload_file(browser, file_path, file_exe_path=local_config.get_upload_path): """上传文件""" executeFile = file_exe_path cmd = """ + executeFile + """ + " " + """ + browser + """ + " " + """ + file_path + """ os.popen(cmd) upload_file("chrome", "D:视频文件Farrer Park Hospital Corporate Video.mp4")
封装代码
def upload_file(self, browser, file_path, file_exe_path=local_config.get_upload_path): """上传文件""" try: """上传文件""" exe_file = file_exe_path cmd = """ + exe_file + """ + " " + """ + browser + """ + " " + """ + file_path + """ cd = os.popen(cmd) self.wait(2) cd.close() except Exception as e: logger.error("当前脚本不能执行原因是: %s" % e) self.screenshot_as_file()
原文:https://www.cnblogs.com/yajing-zh/p/5076881.html