一. 制作上传器

  在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 制作上传工具完美版的更多相关文章

  1. FlashFXP(强大的FXP/ftp上传工具)V5.0.0.3722简体中文特别版

    flashfxp是功能强大的fxp/ftp软件,融合了一些其他优秀ftp软件的优点,如像cuteftp一样可以比较文件夹, FlashFXP是一款功能强大的FXP/ftp上传工具, FlashFXP集 ...

  2. selenium借助AutoIt识别上传(下载)详解

    AutoIt目前最新是v3版本,这是一个使用类似BASIC脚本语言的免费软件,它设计用于Windows GUI(图形用户界面)中进行自动化操作.它利用模拟键盘按键,鼠标移动和窗口/控件的组合来实现自动 ...

  3. swfupdate flash上传工具

    引用:http://baike.baidu.com/view/1332553.htm 下载地址:http://code.google.com/p/swfupload/ 什么是SWFUpload? SW ...

  4. 转:Selenium借助AutoIt识别上传(下载)详解

    AutoIt目前最新是v3版本,这是一个使用类似BASIC脚本语言的免费软件,它设计用于Windows GUI(图形用户界面)中进行自动化操作.它利用模拟键盘按键,鼠标移动和窗口/控件的组合来实现自动 ...

  5. 转 虫师的selenium借助AutoIt识别上传(下载)详解

    selenium借助AutoIt识别上传(下载)详解 2014-12-27 11:26 by 虫师, 755 阅读, 1 评论, 收藏,  编辑 AutoIt目前最新是v3版本,这是一个使用类似BAS ...

  6. selenium借助AutoIt识别上传(下载)详解【转】

    AutoIt目前最新是v3版本,这是一个使用类似BASIC脚本语言的免费软件,它设计用于Windows GUI(图形用户界面)中进行自动化操作.它利用模拟键盘按键,鼠标移动和窗口/控件的组合来实现自动 ...

  7. PHP 图片上传工具类(支持多文件上传)

    ====================ImageUploadTool======================== <?php class ImageUploadTool { private ...

  8. 文件上传工具类 UploadUtil.java

    package com.util; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import ja ...

  9. 小白日记20:kali渗透测试之后渗透测试阶段(一)--上传工具

    后渗透测试阶段--上传工具 为防止管理员将漏洞补上后,我们无法再通过该漏洞控制对方主机,所以需要进行后渗透测试阶段 1.上传各种工具 2.提权:为了全面控制目标系统 3.擦除攻击痕迹:防止管理员通过日 ...

  10. 文件上传工具swfupload[转]

    转至:http://zhangqgc.iteye.com/blog/906419 文件上传工具swfupload 示例: 1.JavaScript设置SWFUpload部分(与官方例子类似): var ...

随机推荐

  1. Solon v1.11.0 发布,Hello Java

    一个更现代感的 Java 应用开发框架:更快.更小.更自由.没有 Spring,没有 Servlet,没有 JavaEE:独立的轻量生态.主框架仅 0.1 MB. @Controller public ...

  2. 关于mysql在linux(deb系)遇到的问题及解决方法

    前言 当我在树莓派上安装 mysql 数据库的时候,默认安装的是mariadb 数据库,不过没什么区别(在我看来),然后就是闹心的解决各种问题了 1. mysql 在root用户下无密码登录问题 这个 ...

  3. ssh框架中文保存数据库MySQL乱码

    检查后台获取前端页面数据打印到console控制台无乱码:tomcat配置没有问题: 检查MySQL数据库编码设置:字符集:utf8 -- UTF-8 Unicode,排序规则:utf8_genera ...

  4. jmeter ORA-00911: invalid character报错解决方法

    今天通过jmeter进行Oracle数据库操作时,遇到一个小坑. 解决办法:去掉sql最后的分号.

  5. 【Java SE】Day07 API、Scanner类、Random类、ArrayList类

    一.API 1.概述: API(Application Programming Interface),应用程序编程接口 Java API:程序员的字典,是类的说明文档 2.使用步骤 帮助文档:JDK_ ...

  6. 推荐一款 在线+离线数据 同步框架 Dotmim.Sync

    移动智能应用可以分为在线模式.纯离线模式与"在线+离线"混合模式.在线模式下系统数据一般存储在服务器端的大中型数据库(如 SQL Server.Oracle.MySQL 等),移动 ...

  7. Day38:Lambda表达式

    Lambda表达式 1.1 概述 Lambda是JDK8开始后的一种新语法形式. 作用:简化函数式匿名内部类的代码写法. 简化格式: /*部类被重写方法的参数)->{ 被重写方法的方法体代码 } ...

  8. vlc qt player 播放器开发实例

    (一)VLC-Qt下载 官网地址:https://vlc-qt.tano.si/ Github 地址:https://github.com/vlc-qt 示例地址:https://github.com ...

  9. 【好软推荐】Scoop - Windows快速软件安装指南

    在平常生活中如果要安装像git.java.node这些环境的时都需要先去官网下载安装程序,点击安装,之后还需要配置,不仅过程麻烦,而且工具多了之后整理起来也相当不容易,配置也很杂,整个电脑就像被污染了 ...

  10. [python] CairoSVG使用教程

    1 CairoSVG介绍 代码下载地址 CairoSVG是一个将SVG1.1转为PNG,PDF, PS格式的转化.SVG算目前火热的图像文件格式了,它的英文全称为Scalable Vector Gra ...