欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python實(shí)現(xiàn)對(duì)百度云的文件上傳(實(shí)例講解)

 更新時(shí)間:2017年10月21日 10:06:40   投稿:jingxian  
下面小編就為大家?guī)?lái)一篇Python實(shí)現(xiàn)對(duì)百度云的文件上傳(實(shí)例講解)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧

環(huán)境準(zhǔn)備

python3.6

PyCharm 2017.1.3

Windows環(huán)境

框架搭建

selenium3.6

安裝方法:

pip install selenium

實(shí)現(xiàn)步驟:

一、步驟分析

1、選擇“賬號(hào)密碼登錄”

2、用戶(hù)名、密碼輸入,登錄

3、文件上傳

注:本文主要介紹利用selenium包下的webdriver加載Firefox瀏覽器。

二、元素捕捉

利用火狐瀏覽器firebug插件復(fù)制控件的XPATH路徑,注:Python3.6對(duì)應(yīng)Firefox版本40.x,暫不支持最新版本50.x。

1、點(diǎn)擊“賬號(hào)密碼登錄”,獲取其源文件

效果圖如下:

點(diǎn)擊右鍵,復(fù)制Xpath路徑:/html/body/div[1]/div[3]/div[6]/div/div[6]/div[2]/a

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

代碼:

#選擇賬號(hào)密碼登錄
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、登錄成功后,點(diǎn)擊文件上傳,彈出文件對(duì)話(huà)框

“上傳”的Xpath路徑為://*[@id="h5Input0"]

代碼:

#上傳
driver.find_element_by_xpath('//*[@id="h5Input0"]').click()

點(diǎn)擊上傳按鈕,彈出文件對(duì)話(huà)框

三、AutoIT編寫(xiě)腳本實(shí)現(xiàn)上傳文件

webdriver無(wú)法對(duì)文件直接進(jìn)行操作,所以需要借助AutoIT來(lái)實(shí)現(xiàn)文件上傳

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

安裝AutoIt之后,打開(kāi)AutoIt Window Info(x64)

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

打開(kāi)autoit工具之后,用鼠標(biāo)將Finder Tool的圖標(biāo)拖到要識(shí)別的控件上

獲取文本框的控件信息:

獲取“打開(kāi)”按鈕的控件信息:

5、編寫(xiě)AutoIt腳本,實(shí)現(xiàn)文件上傳

1.打開(kāi)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


4. 使用compile script to exe將上述AutoIt腳本編譯為exe文件供python腳本調(diào)用

6、最后,使用Python腳本調(diào)用AutoIT腳本

#點(diǎn)擊上傳,打開(kāi)上傳文件窗口
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腳本自動(dòng)上傳文件
#需要導(dǎo)入python的os庫(kù)文件: 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()
  #設(shè)置思考時(shí)間
  time.sleep(30)
  sreach_window = self.driver.current_window_handle # 此行代碼用來(lái)定位當(dāng)前頁(yè)面
  self.driver.find_element_by_xpath('//*[@id="h5Input0"]').click()
  os.system(r"C:\Users\zg\Desktop\upfile.exe")
Connect(UserName,PassWord,URL).upload()

以上這篇Python實(shí)現(xiàn)對(duì)百度云的文件上傳(實(shí)例講解)就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論