• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    selenium+python自动化78-autoit参数化与批量上传功能的实现

    前言

    前一篇autoit实现文件上传打包成.exe可执行文件后,每次只能传固定的那个图片,我们实际测试时候希望传不同的图片。
    这样每次调用的时候,在命令行里面加一个文件路径的参数就行。

    一、命令行参数

    1.参数化传入的参数,可以通过autoit的命令行参数:

      myProg.exe param1 “This is a string parameter” 99

    在脚本中,可用以下变量获取命令行参数:

    $CmdLine[0] ; = 3
    $CmdLine[1] ; = param1
    $CmdLine[2] ; = "This is a string parameter"
    $CmdLine[3] ; = 99
    $CmdLineRaw ; = 'param1 "This is a string parameter" 99'

    2.将如下代码保存为.exe文件后(文件名随便取一个:cmdjpg.exe),在cmd执行一次,看是否成功

    WinActivate("文件上传");
    ControlSetText("文件上传", "", "Edit1", $CmdLine[1] );
    Sleep(2000);
    ControlClick("文件上传", "", "Button1");

    3.用python代码执行

    # 需上传图片的路径
    file_path = "D:\\1.png"
    
    # 执行autoit上传文件
    os.system("C:\Users\Gloria\Desktop\cmdjpg.exe %s" % file_path) # 你自己本地的

    二、批量上传图片

    1.方法一:先把要上传的图片放到一个list下,然后for循环

    # 把需要上传的图片放到一个list下
    all_png = ["D:\\1.png", "D:\\2.png", "D:\\3.png", "D:\\4.png"]
    
    # 循环点击上传图片
    for i in all_png:
      # 1点开编辑器图片
     
      # 2点开文件上传按钮
    
      # 执行autoit上传文件
      os.system("C:\Users\Gloria\Desktop\cmdjpg.exe %s" % i) # 你自己本地的.exe路径
      time.sleep(3)

    2.方法二:把要上传的图片编号,如:0.png , 1.png, 2.png这种(从0开始编号),放到同一目录下,然后for循环

    # 循环点击上传图片
    for i in range(4):
      # 1点开编辑器图片
    
      # 2点开文件上传按钮
    
      # 文件名
      file_name = "D:\\%s.png" % i # 参数化路径名称
    
      # 执行autoit上传文件
      os.system("C:\Users\Gloria\Desktop\cmdjpg.exe %s" % file_name) # 你自己本地的.exe路径
      time.sleep(3)

    三、参考代码

    # coding:utf-8
    from selenium import webdriver
    import time
    import os
    # 加载配置文件实现免登录
    profileDir = r'C:\Users\Gloria\AppData\Roaming\Mozilla\Firefox\Profiles\1x41j9of.default' # 你自己电脑的配置文件路径,不要抄我的
    profile = webdriver.FirefoxProfile(profileDir)
    driver = webdriver.Firefox(profile)
    driver.implicitly_wait(30)
    driver.get("http://www.cnblogs.com/yoyoketang/")
    driver.find_element_by_link_text("新随笔").click()
    time.sleep(3)
    
    # 方法一:把需要上传的图片放到一个list下
    all_png = ["D:\\1.png", "D:\\2.png", "D:\\3.png", "D:\\4.png"]
    
    for i in all_png:
      # 点开编辑器图片
      driver.find_elements_by_css_selector("img.mceIcon")[0].click()
      time.sleep(3)
      # 定位所有iframe,取第二个
      iframe = driver.find_elements_by_tag_name('iframe')[1]
      # 切换到iframe上
      driver.switch_to_frame(iframe)
      # 点开文件上传按钮
      driver.find_element_by_name('file').click()
      time.sleep(3)
      # 执行autoit上传文件
      print i
      os.system("C:\Users\Gloria\Desktop\cmdjpg.exe %s" % i) # 你自己本地的.exe路径
      time.sleep(3)
      driver.switch_to_default_content() # 切回到主页面
    
    
    # # 方法二:循环点击上传图片
    # for i in range(4):
    #   # 1点开编辑器图片
    # 
    #   # 2点开文件上传按钮
    # 
    #   # 文件名
    #   file_name = "D:\\%s.png" % i # 参数化路径名称
    # 
    #   # 执行autoit上传文件
    #   os.system("C:\Users\Gloria\Desktop\cmdjpg.exe %s" % file_name) # 你自己本地的.exe路径
    #   time.sleep(3)
    

    到此这篇关于selenium+python自动化78-autoit参数化与批量上传的文章就介绍到这了,更多相关python自动化批量上传内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

    您可能感兴趣的文章:
    • selenium+python自动化测试环境搭建步骤
    • selenium+python自动化测试之多窗口切换
    • selenium+python自动化测试之鼠标和键盘事件
    • selenium+python自动化测试之页面元素定位
    • selenium+python自动化测试之使用webdriver操作浏览器的方法
    • selenium+python自动化测试之环境搭建
    • Python Selenium异常处理的实例分析
    • python使用Windows的wmic命令监控文件运行状况,如有异常发送邮件报警
    • Python 获取异常(Exception)信息的几种方法
    • Python读写csv文件流程及异常解决
    • python装饰器实现对异常代码出现进行自动监控的实现方法
    • 教你利用Selenium+python自动化来解决pip使用异常
    上一篇:解决PDF 转图片时丢文字的一种可能方式
    下一篇:解决Pyinstaller打包软件失败的一个坑
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    selenium+python自动化78-autoit参数化与批量上传功能的实现 selenium+python,自动化,78-autoit,