你好呀~

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()
复制代码

 

posted @   测神  阅读(268)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
点击右上角即可分享
微信分享提示