gpt4 book ai didi

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

转载 作者:qq735679552 更新时间:2022-09-29 22:32:09 28 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章selenium+python自动化78-autoit参数化与批量上传功能的实现由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

前言

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

1、命令行参数

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"
  • $CmdLine[0] 获取的是命令行参数的总数,在上例中$CmdLine[0]=3
  • $CmdLine[1]~$CmdLine[63] 获取的是命令行参数第1到第63位,这个方式最多只能获取63个参数,不过正常情况下是足够用的
  • $CmdLineRaw 获取的是未拆分的所有参数,是一个长字符串,这种情况下不局限与63个参数

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

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

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

3.用python代码执行 。

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

2、批量上传图片

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:UsersGloriaDesktopcmdjpg.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:UsersGloriaDesktopcmdjpg.exe %s" % file_name) # 你自己本地的.exe路径  time.sleep(3)

3、参考代码

# coding:utf-8from selenium import webdriverimport timeimport os# 加载配置文件实现免登录profileDir = r"C:UsersGloriaAppDataRoamingMozillaFirefoxProfiles1x41j9of.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:UsersGloriaDesktopcmdjpg.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:UsersGloriaDesktopcmdjpg.exe %s" % file_name) # 你自己本地的.exe路径#   time.sleep(3)

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

原文链接:https://www.cnblogs.com/yoyoketang/p/7653221.html 。

最后此篇关于selenium+python自动化78-autoit参数化与批量上传功能的实现的文章就讲到这里了,如果你想了解更多关于selenium+python自动化78-autoit参数化与批量上传功能的实现的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com