zoukankan      html  css  js  c++  java
  • python需要上传图片或者上传文件的方法【autoit3】

    首先我们需要去官网下载  autoit3

    https://www.autoitscript.com/site/autoit/downloads/

    然后我们可以获取安装之后打开 

    会得到这样一个页面,这个工具能帮助我们去识别上传文件的弹出框

    将指针拖动到我们的上传文件的路径

    然后我们返回文件夹,打开 SciTE

    ControlFocus("打开","","Edit1")  #这个相当于selenium的识别窗口
    
    ControlSetText("打开","","Edit1","D:视频文件Farrer Park Hospital Corporate Video.mp4") # 这个是编辑窗口输入的内容
    Sleep(2000)
    ControlClick("打开","","Button1") # 点击打开按钮,进行上传操作

    保存文件之后,我们需要将这个文件转换成exe可执行文件

    这个时候我们去 Aut2Exe

    然后将转换的exe路径拿到,我们就可以进行上传操作了

    可以先试试在cmd界面能否上传

    "D:file_upload_utils.exe" "chrome" "D:视频文件Farrer Park Hospital Corporate Video.mp4"  # 这里是封装了 chrome的执行,因为不同浏览器的操作不一样需要自行去判断

     接下来可以对 SciTE中的上传文件的进行封装 

    ;first make sure the number of arguments passed into the scripts is more than 1
    If $CmdLine[0]<2 Then Exit EndIf ;if parmas num <2 ,then break
    ;$CmdLine[0] ;参数的数量
    ;$CmdLine[1] ;第一个参数 (脚本名称后面)
    ;$CmdLine[2] ;第二个参数
    ;都是从cmd传入参数
     handleUpload($CmdLine[1],$CmdLine[2])
    
    ;定义上传函数,有两个参数,第一个是浏览器名字,第二参数是文件路径
     Func handleUpload($browser, $uploadfile)
         Dim $title                          ;定义一个title变量
                ;根据弹窗的title来判断是什么浏览器
                If $browser="ie" Then                          ; 代表IE浏览器
                      $title="选择要加载的文件"
                ElseIf $browser="chrome" Then               ; 代表谷歌浏览器
                     $title="打开"
                ElseIf    $browser="firefox" Then             ; 代表火狐浏览器
                      $title="文件上传"
                EndIf
    
                if WinWait($title,"",4) Then ;等待弹出出现,最大等待时间是4秒
                       WinActivate($title)                  ;找到弹出窗口之后,激活当前窗口
                       ControlSetText($title,"","Edit1",$uploadfile)   ;把文件路径放入输入框,此”Edit1“是用FinderTool获取到的
                       ControlClick($title,"","Button1")                ;点击保存或者打开或者上传按钮,此“Button1”使用FinderTool获取到的
                Else
                Return False
                EndIf
     EndFunc

    然后就能上传视频了,附一个示例代码

    import os
    from common.config_utils import local_config
    
    current_path = os.path.dirname(__file__)
    file_path = os.path.join(current_path, local_config.get_upload_path)
    
    
    def upload_file(browser, file_path, file_exe_path=local_config.get_upload_path):
        """上传文件"""
        executeFile = file_exe_path
        cmd = """ + executeFile + """ + " " + """ + browser + """ + " " + """ + file_path + """
        os.popen(cmd)
    
    
    upload_file("chrome", "D:视频文件Farrer Park Hospital Corporate Video.mp4")

    封装代码

        def upload_file(self, browser, file_path, file_exe_path=local_config.get_upload_path):
            """上传文件"""
            try:
                """上传文件"""
                exe_file = file_exe_path
                cmd = """ + exe_file + """ + " " + """ + browser + """ + " " + """ + file_path + """
                cd = os.popen(cmd)
                self.wait(2)
                cd.close()
            except Exception as e:
                logger.error("当前脚本不能执行原因是: %s" % e)
                self.screenshot_as_file()
    原文:https://www.cnblogs.com/yajing-zh/p/5076881.html
  • 相关阅读:
    文字编码
    各个地区的编码
    Android中调用系统所装的软件打开文件
    Android中检测手机制式和移动网络类型
    Android使用ContentProvide(内容提供者)向其他应用程序共享数据
    windows Phone Push Notification
    解决Android加载图片时内存溢出的问题
    Android 正则表达式
    淡定
    Android简单数据存储类SharedPreferences详解及实例
  • 原文地址:https://www.cnblogs.com/yushengaqingzhijiao/p/15192685.html
Copyright © 2011-2022 走看看