前一篇autoit實(shí)現(xiàn)文件上傳打包成.exe可執(zhí)行文件后,每次只能傳固定的那個圖片,我們實(shí)際測試時候希望傳不同的圖片。
這樣每次調(diào)用的時候,在命令行里面加一個文件路徑的參數(shù)就行。
1.參數(shù)化傳入的參數(shù),可以通過autoit的命令行參數(shù):
myProg.exe param1 “This is a string parameter” 99
在腳本中,可用以下變量獲取命令行參數(shù):
$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執(zhí)行一次,看是否成功
WinActivate("文件上傳"); ControlSetText("文件上傳", "", "Edit1", $CmdLine[1] ); Sleep(2000); ControlClick("文件上傳", "", "Button1");
3.用python代碼執(zhí)行
# 需上傳圖片的路徑 file_path = "D:\\1.png" # 執(zhí)行autoit上傳文件 os.system("C:\Users\Gloria\Desktop\cmdjpg.exe %s" % file_path) # 你自己本地的
1.方法一:先把要上傳的圖片放到一個list下,然后for循環(huán)
# 把需要上傳的圖片放到一個list下 all_png = ["D:\\1.png", "D:\\2.png", "D:\\3.png", "D:\\4.png"] # 循環(huán)點(diǎn)擊上傳圖片 for i in all_png: # 1點(diǎn)開編輯器圖片 # 2點(diǎn)開文件上傳按鈕 # 執(zhí)行autoit上傳文件 os.system("C:\Users\Gloria\Desktop\cmdjpg.exe %s" % i) # 你自己本地的.exe路徑 time.sleep(3)
2.方法二:把要上傳的圖片編號,如:0.png , 1.png, 2.png這種(從0開始編號),放到同一目錄下,然后for循環(huán)
# 循環(huán)點(diǎn)擊上傳圖片 for i in range(4): # 1點(diǎn)開編輯器圖片 # 2點(diǎn)開文件上傳按鈕 # 文件名 file_name = "D:\\%s.png" % i # 參數(shù)化路徑名稱 # 執(zhí)行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 # 加載配置文件實(shí)現(xiàn)免登錄 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: # 點(diǎn)開編輯器圖片 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) # 點(diǎn)開文件上傳按鈕 driver.find_element_by_name('file').click() time.sleep(3) # 執(zhí)行autoit上傳文件 print i os.system("C:\Users\Gloria\Desktop\cmdjpg.exe %s" % i) # 你自己本地的.exe路徑 time.sleep(3) driver.switch_to_default_content() # 切回到主頁面 # # 方法二:循環(huán)點(diǎn)擊上傳圖片 # for i in range(4): # # 1點(diǎn)開編輯器圖片 # # # 2點(diǎn)開文件上傳按鈕 # # # 文件名 # file_name = "D:\\%s.png" % i # 參數(shù)化路徑名稱 # # # 執(zhí)行autoit上傳文件 # os.system("C:\Users\Gloria\Desktop\cmdjpg.exe %s" % file_name) # 你自己本地的.exe路徑 # time.sleep(3)
到此這篇關(guān)于selenium+python自動化78-autoit參數(shù)化與批量上傳的文章就介紹到這了,更多相關(guān)python自動化批量上傳內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
標(biāo)簽:合肥 隨州 淘寶好評回訪 昭通 阜新 濟(jì)源 興安盟 信陽
巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《selenium+python自動化78-autoit參數(shù)化與批量上傳功能的實(shí)現(xiàn)》,本文關(guān)鍵詞 selenium+python,自動化,78-autoit,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。