日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

Python實現對百度云的文件上傳(實例講解)

系統 2174 0

環境準備

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。

Python實現對百度云的文件上傳(實例講解)_第1張圖片

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

Python實現對百度云的文件上傳(實例講解)_第2張圖片

效果圖如下:

Python實現對百度云的文件上傳(實例講解)_第3張圖片

點擊右鍵,復制Xpath路徑:/html/body/div[1]/div[3]/div[6]/div/div[6]/div[2]/a

登錄按鈕和文件上傳同上,獲取其相應的Xpath路徑

Python實現對百度云的文件上傳(實例講解)_第4張圖片

代碼:

            
#選擇賬號密碼登錄
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()


          

點擊上傳按鈕,彈出文件對話框

Python實現對百度云的文件上傳(實例講解)_第5張圖片

三、AutoIT編寫腳本實現上傳文件

webdriver無法對文件直接進行操作,所以需要借助AutoIT來實現文件上傳

AutoIT下載地址:https://www.autoitscript.com/site

安裝AutoIt之后,打開AutoIt Window Info(x64)
Python實現對百度云的文件上傳(實例講解)_第6張圖片
Python實現對百度云的文件上傳(實例講解)_第7張圖片

4、獲取文件上傳窗口的控件信息:

打開autoit工具之后,用鼠標將Finder Tool的圖標拖到要識別的控件上

獲取文本框的控件信息:
Python實現對百度云的文件上傳(實例講解)_第8張圖片

獲取“打開”按鈕的控件信息:
Python實現對百度云的文件上傳(實例講解)_第9張圖片

5、編寫AutoIt腳本,實現文件上傳

1.打開scite script editor

2.代碼:

            
;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 thext on the Edit field
ControlSetText("文件上傳", "", "Edit1", "D:\test.txt")
Sleep(2000)

;Click on the Open button
ControlClick("文件上傳", "", "Button1");
          

3. 將文件保存upfile.au3

Python實現對百度云的文件上傳(實例講解)_第10張圖片
4. 使用compile script to exe將上述AutoIt腳本編譯為exe文件供python腳本調用
Python實現對百度云的文件上傳(實例講解)_第11張圖片

6、最后,使用Python腳本調用AutoIT腳本

            
#點擊上傳,打開上傳文件窗口
driver.find_element_by_xpath('/html/body/div[1]/div[2]/div[1]/div[2]/div[2]/div[2]/a[1]/form/input').click()

#使用autoit腳本自動上傳文件
#需要導入python的os庫文件: import os
os.system("D:/upfile.exe")
          

完整代碼如下:

            
import os
from selenium import webdriver
import time
class Connect():
 def __init__(self,UserName,PassWord,URL):
  self.UserName = UserName
  self.PassWord = PassWord
  self.URL = URL
 def connect(self):
  self.driver = webdriver.Firefox()
  self.driver.get(self.URL)
  self.driver.find_element_by_xpath('/html/body/div[1]/div[3]/div[6]/div/div[6]/div[2]/a').click()
  self.driver.find_element_by_xpath('/html/body/div[1]/div[3]/div[6]/div/div[3]/form/p[5]/input').send_keys(self.UserName)
  self.driver.find_element_by_xpath('/html/body/div[1]/div[3]/div[6]/div/div[3]/form/p[6]/input').send_keys(self.PassWord)
  self.driver.find_element_by_xpath('/html/body/div[1]/div[3]/div[6]/div/div[3]/form/p[9]/input').click()
  #設置思考時間
  time.sleep(30)
  sreach_window = self.driver.current_window_handle # 此行代碼用來定位當前頁面
  self.driver.find_element_by_xpath('//*[@id="h5Input0"]').click()
  os.system(r"C:\Users\zg\Desktop\upfile.exe")
Connect(UserName,PassWord,URL).upload()
          

以上這篇Python實現對百度云的文件上傳(實例講解)就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 土默特右旗| 淮南市| 丹阳市| 左权县| 通山县| 金平| 高邑县| 会理县| 兰考县| 海兴县| 泾川县| 睢宁县| 蓝田县| 扬中市| 沂水县| 靖远县| 济源市| 岳普湖县| 寻乌县| 陆良县| 井陉县| 武强县| 泰来县| 新野县| 南召县| 蓝山县| 泗洪县| 长兴县| 余干县| 如皋市| 南召县| 周宁县| 肃宁县| 永胜县| 苍梧县| 盖州市| 河池市| 秦皇岛市| 通许县| 彰化县| 赣州市|