• 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
  • 相关阅读:
    MySQL的count函数注意点
    case when语句的报错问题
    redis的主从搭建与sentinel高可用服务的搭建
    解析范式(1NF-4NF)
    对SQL语言的相关学习
    ASP.NET Core MVC+EF Core项目实战
    ASP.NET Core +Highchart+ajax绘制动态柱状图
    tab页卡效果!
    今天我注册了迅雷快传
    触发器学习笔记(:new,:old用法)
  • 原文地址:https://www.cnblogs.com/yushengaqingzhijiao/p/15192685.html
Copyright © 2020-2023  润新知