标签:脚本 web exe 文件 -- os ui AutoIt 上传
背景
webdriver无法对windows的图形界面进行操作,所以借助AutoIt工具实现自动化本地上传文件
方法一,使用Autolt生成exe文件,在Python中调用
AutoIt介绍及安装
AutoIt是一个使用类似BASIC脚本语言的免费软件,它设计用于Windows GUI(图形用户界面)中进行自动化操作,它利用模拟键盘按键,鼠标移动和窗口/控件的组合来实现自动化任务。
官方下载地址:https://www.autoitscript.com/site/
分别下载图中标记的 Autolt和Editor
解压后放在同一个文件夹内,并分别安装
Au3Info_x64为元素识别器,可通过拖动Finder Tool来定位元素
根据AutoIt Info所识别的控件信息,打开SciTE Script Editor编辑器(位置:SciTE文件夹中的SciTE.exe)
编写脚本
编写脚本输入如下内容,并保存文件为FileUpload.au3:
;识别文件上传弹出窗口 ControlFocus("打开", "","Edit1") ;等待10秒钟,等待上传窗口出现 WinWait("[CLASS:#32770]", "",10) ;设置需要上传的文件路径到文件名输入框中 ControlSetText("打开", "", "Edit1", "C:\Users\User\Desktop\测试图片\3.jpg") Sleep(2000) ;点击打开按钮 ControlClick("打开", "", "Button1");
脚本写好后,点击Tools->Go,运行脚本
脚本运行正常后,打开AutoIt3\Aut2Exe文件夹中的Aut2exe_x64.exe工具,将脚本转换成可执行文件,如下图。此可执行文件可被python程序调用
使用Python脚本调用
# 导入os模块 import os # 向os.system方法传入FileUpload.exe路径 def img_upload(self): os.system('D:\workspace\webui_auto\FileUpload.exe') # 先点击程序中的上传文件按钮 self.driver.find_element(By.XPATH, '//div[text()="上传文件"]').click() # 在其他方法中调用即可 self.img_upload() print('调用img_upload函数')
方法二,使用Python的pywin32库,识别对话框句柄
标签:脚本,web,exe,文件,--,os,ui,AutoIt,上传 来源: https://www.cnblogs.com/wxinyu/p/16243760.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。