操作上传时,会打开WINDOWS窗口,通过《switch_to_window》无获取到。
经网上搜索,获知如下两种方法,特在此记录:
小插曲:若在FIREFOX上执行AutoIt的.exe文件,需要安装插件mozrepl。
方法一:通过AutoIt 实现上传
AutoIt介绍:AutoIt是一个使用类似BASIC 脚本语言的免费软件,它设计用于WindowsGUI(图形用户界面)中进行自动化操作。
下载地址:官方网站:https://www.autoitscript.com/site/
AutoIt模块介绍:
AutoIt Windows Info 用于帮助我们识Windows 控件信息。
Compile Script to.exe 用于将AutoIt 生成exe 执行文件。
Run Script 用于执行AutoIt 脚本。
SciTE Script Editor 用于编写AutoIt 脚本。
操作步骤:
1. 识别控件:即 打开AutoIt Windows Info 工具,鼠标点击Finder Tool,鼠标将变成一个小风扇形状的图标,按住鼠标左键拖动到需要识别的控件上
2.编写脚本:即:根据AutoIt Windows Info 所识别到的控件信息打开SciTE Script Editor 编辑器,编写脚本,并保存(后缀名为:.au3)
;ControlFocus("title","text",controlID)ControlFocus("打开","","Edit1") ;wait 10 seconde;WinWait("title"[,"text"[,timeout=0]])winwait("[Class:#32770]","",10); Set the File name text on the Edit fieldControlSetText("打开","","Edit1","F:\estone_auto\test_estone\test_data\photo.jpg")sleep(2000)ControlClick("打开","","Button2")
脚本解释:
ControlFocus()方法用于识别Window 窗口。
WinWait()设置10 秒钟用于等待窗口的显示
ControlSetText()用于向“文件名”输入框内输入本地文件的路径
Sleep(2000)表示固定休眠2000 毫秒
ControlClick()用于点击上传窗口中的“打开”按钮
3.运行脚本:通过菜单栏“Tools”-->“Go” (或按键盘F5)来运行脚本。运行脚本前提:上传窗口要打开
4.生成EXE文件,供PYTHON调用:即:打开Compile Script to.exe工具,点击“Browse”选择upfile.au3 文件,点击“Convert”按钮将其生成为upfile.exe 程序。
5.python脚本调用,实现上传功能
import os
os.system("D:\\upfile.exe") #在需要上传处输入该脚本
记录说明: 在CHROME浏览器上试时,正常,在FIREFOX浏览器上不会被执行。