一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

腳本之家,腳本語言編程技術及教程分享平臺!
分類導航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務器之家 - 腳本之家 - Python - selenium+python自動化78-autoit參數化與批量上傳功能的實現

selenium+python自動化78-autoit參數化與批量上傳功能的實現

2021-09-14 00:17上海-悠悠 Python

這篇文章主要介紹了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"
  • $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) # 你自己本地的

二、批量上傳圖片

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)

三、參考代碼

# coding:utf-8
from selenium import webdriver
import time
import 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

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 99久久精品免费看国产一区 | 亚洲va在线va天堂va偷拍 | 国产亚洲欧美成人久久片 | 久久婷婷五月免费综合色啪 | 国产啪精品视频网给免丝袜 | 免费尤物视频 | 奇米影视奇米色777欧美 | 国产欧美久久久精品影院 | 国产精品永久免费视频观看 | 亚洲午夜精品久久久久 | 亚洲日韩精品欧美一区二区 | 国色天香社区视频免费观看3 | 视频一区精品 | 天天射夜夜爽 | 国产欧美精品专区一区二区 | 青草悠悠视频在线观看 | 日本在线看 | 日韩欧美亚洲国产高清在线 | 天码毛片一区二区三区入口 | 好大好长好紧爽免费 | 欧美人人干 | 三级小说网站 | 国产一区二区三区在线看 | 天天爱天天操天天射 | 欧美日韩久久中文字幕 | 免费真实播放国产乱子伦 | 青草热久精品视频在线观看 | 日韩资源在线 | v视界影院.vsjla | 精品免费久久久久久成人影院 | gayxxx视频| 精品国产线拍大陆久久尤物 | 天天摸日日舔 | 无人区大片免费播放器 | 无遮挡h肉动漫高清在线 | 四虎www.| 俄罗斯烧性春三级k8播放 | 欧美男同videos | 亚洲精品有码在线观看 | 欧美视频精品一区二区三区 | 国产福利不卡视频 |