Autoit 制作上传工具完美版
一. 制作上传器
在ui自动化过程中经常遇到需要上传的动作,我们可以使用input标签来送值,但这样不太稳定,所以建议使用autoit制作出来的exe工具。
下面就教大家如何制作上传器,如何使用吧!
新建一个文本文件,命名为uploader.au3,将下面代码复制进去。
这段代码是经过我反复测试的,大家可以放心用哦~
upload() Func upload()
WinWait("[CLASS:#32770]","",3)
If WinExists("打开") then
ControlFocus("打开","","Edit1")
Sleep(500)
;输入需要上传的文件路径
ControlSetText("打开", "", "Edit1", $CmdLine[1])
Sleep(500)
;点击【打开】按钮
ControlClick("打开", "","Button1")
EndIf ;找不到路径时,会触发确认弹窗,点确认,再点取消,该Button1为确认按钮
Sleep(1000)
If WinExists("打开") then
ControlClick("打开", "","Button1")
EndIf ;路径为空时;或者点过上述的确认弹窗后,不能让它挂在那里,点取消
Sleep(1000)
If WinExists("打开") then
ControlClick("打开", "","Button2")
EndIf EndFunc
二. 转化为可执行的exe软件
使用autoit软件里的 autoit script to exe 工具,选择刚才的uploader.au3脚本进行转化。

三. 测试该exe执行情况
调用exe的执行过程封装在seliky里面了,大家也可以用os模块调用exe。
(注:seliky是我自己发版的库,用起来比较顺心,大家想用的话可以自行安装:pip install seliky -i https://pypi.org/simple)
import time
from seliky import WebDriver2 def test_autoit():
"""
在百度识图官网,点击识图按钮,触发系统弹窗,测试上传器执行情况
"""
bs = WebDriver2()
bs.open_browser()
bs.get("https://graph.baidu.com/pcpage/index?tpl_from=pc")
bs.click('//span[@class="graph-d20-search-wrapper-camera"]')
bs.click('//form[@class="general-upload-imgform"]')
uploader_path = 'chrome_uploader.exe' # autoit 上传器测试
bs.upload_with_autoit('', uploader_path) # 路径为空的情况
# bs.upload_with_autoit('d://picture//null.jpg', uploader_path) # 路径错误的情况
# bs.upload_with_autoit('d://picture//girl.jpg', uploader_path) # 路径正常的情况 time.sleep(5) if __name__ == '__main__':
test_autoit()
作者留言
原创不易,如果觉得本文对你有帮助,记得打赏噢O(∩_∩)O,您的支持是我创作路上最大的动力~
Autoit 制作上传工具完美版的更多相关文章
- FlashFXP(强大的FXP/ftp上传工具)V5.0.0.3722简体中文特别版
flashfxp是功能强大的fxp/ftp软件,融合了一些其他优秀ftp软件的优点,如像cuteftp一样可以比较文件夹, FlashFXP是一款功能强大的FXP/ftp上传工具, FlashFXP集 ...
- selenium借助AutoIt识别上传(下载)详解
AutoIt目前最新是v3版本,这是一个使用类似BASIC脚本语言的免费软件,它设计用于Windows GUI(图形用户界面)中进行自动化操作.它利用模拟键盘按键,鼠标移动和窗口/控件的组合来实现自动 ...
- swfupdate flash上传工具
引用:http://baike.baidu.com/view/1332553.htm 下载地址:http://code.google.com/p/swfupload/ 什么是SWFUpload? SW ...
- 转:Selenium借助AutoIt识别上传(下载)详解
AutoIt目前最新是v3版本,这是一个使用类似BASIC脚本语言的免费软件,它设计用于Windows GUI(图形用户界面)中进行自动化操作.它利用模拟键盘按键,鼠标移动和窗口/控件的组合来实现自动 ...
- 转 虫师的selenium借助AutoIt识别上传(下载)详解
selenium借助AutoIt识别上传(下载)详解 2014-12-27 11:26 by 虫师, 755 阅读, 1 评论, 收藏, 编辑 AutoIt目前最新是v3版本,这是一个使用类似BAS ...
- selenium借助AutoIt识别上传(下载)详解【转】
AutoIt目前最新是v3版本,这是一个使用类似BASIC脚本语言的免费软件,它设计用于Windows GUI(图形用户界面)中进行自动化操作.它利用模拟键盘按键,鼠标移动和窗口/控件的组合来实现自动 ...
- PHP 图片上传工具类(支持多文件上传)
====================ImageUploadTool======================== <?php class ImageUploadTool { private ...
- 文件上传工具类 UploadUtil.java
package com.util; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import ja ...
- 小白日记20:kali渗透测试之后渗透测试阶段(一)--上传工具
后渗透测试阶段--上传工具 为防止管理员将漏洞补上后,我们无法再通过该漏洞控制对方主机,所以需要进行后渗透测试阶段 1.上传各种工具 2.提权:为了全面控制目标系统 3.擦除攻击痕迹:防止管理员通过日 ...
- 文件上传工具swfupload[转]
转至:http://zhangqgc.iteye.com/blog/906419 文件上传工具swfupload 示例: 1.JavaScript设置SWFUpload部分(与官方例子类似): var ...
随机推荐
- 6 STL-vector
重新系统学习c++语言,并将学习过程中的知识在这里抄录.总结.沉淀.同时希望对刷到的朋友有所帮助,一起加油哦! 生命就像一朵花,要拼尽全力绽放!死磕自个儿,身心愉悦! 写在前面,本篇章主要介绍S ...
- 微信小程序根据开发环境切换域名
domain.js // 获取当前账号信息,线上小程序版本号仅支持在正式版小程序中获取,开发版和体验版中无法获取. // envVersion:'develop','trial','release' ...
- 日爬百万数据的域名限制、url的清洗和管理
一.域名去重1.检测开头:link.startswith('http') txt = "Hello, welcome to my world." x = txt.startswit ...
- gulp报错The following tasks did not complete
代码如下: //引用gulp模块 const gulp = require('gulp'); //使用gulp.task()建立任务 gulp.task('first', () => { con ...
- Velero 系列文章(二):使用 Helm 安装 Velero
概述 本文是通过 Helm 3 来安装 Velero, 只做最基本的安装.并计划将 YAML (只备份 YAML, 不备份 Volume) 备份到腾讯云的 COS(兼容 S3, 所以可以通过 AWS ...
- 使用 System.Text.Json 时,如何处理 Dictionary 中 Key 为自定义类型的问题
在使用 System.Text.Json 进行 JSON 序列化和反序列化操作时,我们会遇到一个问题:如何处理字典中的 Key 为自定义类型的问题. 背景说明 例如,我们有如下代码: // 定义一 ...
- for循环结构、range方法
目录 今日内容总结 whlie补充说明 for循环结构 range方法 练习 今日内容总结 whlie补充说明 1.死循环 真正死循环是一旦执行 CPU功耗会急速上升 直到系统采取紧急措施 尽量不要让 ...
- Nmap安装
Nmap(Network Mapper,网络映射器)是一款开放源代码的网络探测和安全审核工具.它被设计用来快速扫描大型网络,包括主机探测与发现.开放的端口情况.操作系统与应用服务指纹识别.WAF识别及 ...
- 从工具到实践:如何在GitHub上保障开源项目安全?
1998年,Christine Peterson创造了 "开源软件"这个词.她解释道:"这是刻意为之,为了让其他人更容易理解这个领域".同年,O'Reilly组 ...
- 沁恒微(WCH)CH395/392配置使用,代码指南 网路接口芯片 CH395 CH392
CH395/CH392相关资料可以从官网下载具体连接可以看博客:WCH以太网相关芯片资料总结 里面是WCH官网相关信息的链接. 也可以去Gitee上下载:Gitee链接. STM32控制CH395的例 ...