selenium文件上傳與下載

AutoIt目前最新是v3版本锈津,這是一個使用類似BASIC腳本語言免費軟件,它設計用于Windows GUI(圖形用戶界面)中進行自動化操作壁酬。它利用模擬鍵盤按鍵邓嘹,鼠標移動和窗口/控件的組合來實現(xiàn)自動化任務。

官方網站:https://www.autoitscript.com/site/

從網站上下載AutoIt并安裝擅笔,安裝完成在菜單中會看到圖4.13的目錄:

圖4.13??AutoIt菜單

AutoIt?Windows?Info???用于幫助我們識Windows控件信息志衣。

Compile?Script?to.exe?用于將AutoIt生成?exe?執(zhí)行文件见芹。

Run?Script????????????用于執(zhí)行AutoIt腳本。

SciTE?Script?Editor???用于編寫AutoIt腳本蠢涝。

upload_file

upload_file

將上面的html代碼保存為uplad.html文件玄呛,通過瀏覽器打開,效果如下:

下面以操作upload.html上傳彈出的窗口為例講解AutoIt實現(xiàn)上傳過程和二。

1徘铝、首先打開AutoIt?Windows?Info?工具,鼠標點擊Finder?Tool惯吕,鼠標將變成一個小風扇形狀的圖標惕它,按住鼠標左鍵拖動到需要識別的控件上。

圖4.14??AutoIt?Windows?Info識別“文件名”輸入框控件

圖4.15??AutoIt?Windows?Info識別“打開”按鈕控件

如圖4.14废登、4.15淹魄,通過AutoIt?Windows?Info?獲得以下信息。

窗口的title為“選擇要加載的文件”堡距,標題的Class為“#32770”甲锡。

文件名輸入框的class?為“Edit”,Instance為“1”?羽戒,所以ClassnameNN為“Edit1”缤沦。

打開按鈕的class?為“Button”,Instance為“1”?易稠,所以ClassnameNN為“Button1”缸废。

2、根據AutoIt?Windows?Info?所識別到的控件信息打開SciTE?Script?Editor編輯器驶社,編寫腳本企量。

;ControlFocus("title","text",controlID) Edit1=Edit instance 1

ControlFocus("選擇要加載的文件", "","Edit1")

; Wait 10 seconds for the Upload window to appear

WinWait("[CLASS:#32770]","",10)

; Set the File name text on the Edit field

ControlSetText("選擇要加載的文件", "", "Edit1", "D:\\upload_file.txt")

Sleep(2000)

; Click on the Open button

ControlClick("選擇要加載的文件", "","Button1");

ControlFocus()方法用于識別Window窗口。WinWait()設置10秒鐘用于等待窗口的顯示亡电,其用法與WebDriver?所提供的implicitly_wait()類似届巩。ControlSetText()用于向“文件名”輸入框內輸入本地文件的路徑。這里的Sleep()方法與Python中time模塊提供的Sleep()方法用法一樣逊抡,不過它是以毫秒為單位姆泻,Sleep(2000)表示固定休眠2000毫秒零酪。ControlClick()用于點擊上傳窗口中的“打開”按鈕冒嫡。

AutoIt的腳本已經寫好了,可以通過菜單欄“Tools”-->“Go”?(或按鍵盤F5)來運行一個腳本吧四苇!注意在運行時上傳窗口當前處于打開狀態(tài)孝凌。

3、腳本運行正常月腋,將其保存為upfile.au3蟀架,這里保存的腳本可以通過Run?Script?工具將其打開運行瓣赂,但我們的目的是希望這個腳本被Python程序調用,那么就需要將其生成exe程序片拍。打開Compile?Script?to.exe工具煌集,將其生成為exe可執(zhí)行文件。如圖4.16捌省,

圖4.16??Compile?Script?to.exe生成exe程序

點擊“Browse”選擇upfile.au3文件苫纤,點擊“Convert”按鈕將其生成為upfile.exe程序。

4纲缓、下面就是通過自動化測試腳本調用upfile.exe程序實現(xiàn)上傳了卷拘。

#coding=utf-8fromseleniumimportwebdriverimportos

driver=webdriver.Firefox()#打開上傳功能頁面file_path ='file:///'+ os.path.abspath('upfile.html')

driver.get(file_path)#點擊打開上傳窗口driver.find_element_by_name("file").click()#調用upfile.exe上傳程序os.system("D:\\upfile.exe")

driver.quit()

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市祝高,隨后出現(xiàn)的幾起案子栗弟,更是在濱河造成了極大的恐慌,老刑警劉巖工闺,帶你破解...
    沈念sama閱讀 222,104評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件乍赫,死亡現(xiàn)場離奇詭異,居然都是意外死亡陆蟆,警方通過查閱死者的電腦和手機耿焊,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,816評論 3 399
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來遍搞,“玉大人罗侯,你說我怎么就攤上這事∠常” “怎么了钩杰?”我有些...
    開封第一講書人閱讀 168,697評論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長诊县。 經常有香客問我讲弄,道長,這世上最難降的妖魔是什么依痊? 我笑而不...
    開封第一講書人閱讀 59,836評論 1 298
  • 正文 為了忘掉前任避除,我火速辦了婚禮,結果婚禮上胸嘁,老公的妹妹穿的比我還像新娘瓶摆。我一直安慰自己,他們只是感情好性宏,可當我...
    茶點故事閱讀 68,851評論 6 397
  • 文/花漫 我一把揭開白布群井。 她就那樣靜靜地躺著,像睡著了一般毫胜。 火紅的嫁衣襯著肌膚如雪书斜。 梳的紋絲不亂的頭發(fā)上诬辈,一...
    開封第一講書人閱讀 52,441評論 1 310
  • 那天,我揣著相機與錄音荐吉,去河邊找鬼焙糟。 笑死,一個胖子當著我的面吹牛样屠,可吹牛的內容都是我干的酬荞。 我是一名探鬼主播,決...
    沈念sama閱讀 40,992評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼瞧哟,長吁一口氣:“原來是場噩夢啊……” “哼混巧!你這毒婦竟也來了?” 一聲冷哼從身側響起勤揩,我...
    開封第一講書人閱讀 39,899評論 0 276
  • 序言:老撾萬榮一對情侶失蹤咧党,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后陨亡,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體傍衡,經...
    沈念sama閱讀 46,457評論 1 318
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 38,529評論 3 341
  • 正文 我和宋清朗相戀三年负蠕,在試婚紗的時候發(fā)現(xiàn)自己被綠了蛙埂。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,664評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡遮糖,死狀恐怖绣的,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情欲账,我是刑警寧澤屡江,帶...
    沈念sama閱讀 36,346評論 5 350
  • 正文 年R本政府宣布,位于F島的核電站赛不,受9級特大地震影響惩嘉,放射性物質發(fā)生泄漏。R本人自食惡果不足惜踢故,卻給世界環(huán)境...
    茶點故事閱讀 42,025評論 3 334
  • 文/蒙蒙 一文黎、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧殿较,春花似錦耸峭、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,511評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽触机。三九已至帚戳,卻和暖如春玷或,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背片任。 一陣腳步聲響...
    開封第一講書人閱讀 33,611評論 1 272
  • 我被黑心中介騙來泰國打工偏友, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人对供。 一個月前我還...
    沈念sama閱讀 49,081評論 3 377
  • 正文 我出身青樓位他,卻偏偏與公主長得像,于是被迫代替她去往敵國和親产场。 傳聞我的和親對象是個殘疾皇子鹅髓,可洞房花燭夜當晚...
    茶點故事閱讀 45,675評論 2 359

推薦閱讀更多精彩內容