環境準備
python3.6
PyCharm 2017.1.3
Windows環境
框架搭建
selenium3.6
安裝方法:
pip install selenium
實現步驟:
一、步驟分析
1、選擇“賬號密碼登錄”
2、用戶名、密碼輸入,登錄
3、文件上傳
注:本文主要介紹利用selenium包下的webdriver加載Firefox瀏覽器。
二、元素捕捉
利用火狐瀏覽器firebug插件復制控件的XPATH路徑,注:Python3.6對應Firefox版本40.x,暫不支持最新版本50.x。

1、點擊“賬號密碼登錄”,獲取其源文件

效果圖如下:

點擊右鍵,復制Xpath路徑:/html/body/div[1]/div[3]/div[6]/div/div[6]/div[2]/a
登錄按鈕和文件上傳同上,獲取其相應的Xpath路徑

代碼:
#選擇賬號密碼登錄driver.find_element_by_xpath('/html/body/div[1]/div[3]/div[6]/div/div[6]/div[2]/a').click()# 登錄 driver.find_element_by_xpath('/html/body/div[1]/div[3]/div[6]/div/div[3]/form/p[5]/input').send_keys('username')driver.find_element_by_xpath('/html/body/div[1]/div[3]/div[6]/div/div[3]/form/p[6]/input').send_keys('password')driver.find_element_by_xpath('/html/body/div[1]/div[3]/div[6]/div/div[3]/form/p[9]/input').click()2、登錄成功后,點擊文件上傳,彈出文件對話框
“上傳”的Xpath路徑為://*[@id="h5Input0"]
代碼:
#上傳driver.find_element_by_xpath('//*[@id="h5Input0"]').click()點擊上傳按鈕,彈出文件對話框

三、AutoIT編寫腳本實現上傳文件
webdriver無法對文件直接進行操作,所以需要借助AutoIT來實現文件上傳
AutoIT下載地址:https://www.autoitscript.com/site
安裝AutoIt之后,打開AutoIt Window Info(x64)

4、獲取文件上傳窗口的控件信息:
打開autoit工具之后,用鼠標將Finder Tool的圖標拖到要識別的控件上
獲取文本框的控件信息: 
獲取“打開”按鈕的控件信息: 
5、編寫AutoIt腳本,實現文件上傳
1.打開scite script editor
2.代碼:
;ControlFocus("title", "text", controlID) Edit1=Edit instance 1ControlFocus("文件上傳", "","Edit1");Wait 10 seconds for the Upload window to appearWinWait("[CLASS:#32770]", "",10);Set the File name thext on the Edit fieldControlSetText("文件上傳", "", "Edit1", "D:/test.txt")Sleep(2000);Click on the Open buttonControlClick("文件上傳", "", "Button1");
新聞熱點
疑難解答