zoukankan      html  css  js  c++  java
  • 借助autoit操作上传下载对话框(参数化)

    虫师有一篇文章写的不错,链接如下:http://www.cnblogs.com/fnng/p/4188162.html

    他的文章把upload.exe需要上传的文件写死了,下面的内容作为补充。

    如果不想把上传过程写死,例如,想在程序中指定要上传的文件,把文件路径作为参数传递给upload.exe进行上传,也是可以的,autoit可以使用参数化做到这一点,见下面的autoit脚本:

     

    [plain] view plain copy
     
    1. ControlFocus("打开","","Edit1")  
    2. WinWait("[CLASS:#32770]","",10)  
    3. ControlSetText("打开","","Edit1",$CmdLine[1])  
    4. Sleep(2000)  
    5. ControlClick("打开","","Button1");  

    上面的代码指定了打开的窗口名称为“打开”,并且使用$CmdLine[1]来指定upload.exe需要的唯一参数。调用该upload.exe的python代码如下:

     

    [python] view plain copy
     
    1. browser.find_element_by_id("crop_logo").click()    #首先需要使用webdriver点击web页面的控件,弹出上传文件对话框后,这时,autoit脚本就可以寻找到上传文件对话框,并进行autoit脚本中的预设动作。  
    2. # upload.exe接收一个参数,就是要上传的文件路径,目前只支持上传文件对话框是"打开"的windows窗口  
    3. exe_path=base_dir+"\resource\upload.exe"  
    4. file_path=base_dir+"\resource\img.png"  
    5. cmd=exe_path+" "+file_path  
    6. ps=subprocess.Popen(cmd)  
    7. ps.wait()  

    注:调用upload.exe也可使用subprocess模块,比os模块跟更好用。

    如下:

     

    [python] view plain copy
     
    1. ps=subprocess.Popen(cmd)  
    2. ps.wait()  


    了解了上传的实现过程,那么下载也是一样的。

  • 相关阅读:
    WampServer软件
    ASP.NET Core中返回 json 数据首字母大小写问题
    区块链的入门与应用(1)
    阿里云oss 的坑==》 路径有区分大小写
    uni-app 学习笔记 小于号问题
    uni-app 学习笔记-引用外部js并调用
    net core 简单读取json配置文件
    net core 3 使用 autofac
    js 获取对应的url参数
    postman 跟restsharp 模拟请求http
  • 原文地址:https://www.cnblogs.com/saryli/p/7068950.html
Copyright © 2011-2022 走看看