python控制瀏覽器上傳文件


自動化爬蟲方法和庫很多,難點大多數在登錄。可以大致分為:普通驗證碼,掃碼登錄,QQ一鍵登錄,拖動驗證,無痕驗證,人工識別(比如12306登錄)

 

萬能大法可以破解一切以上需求,自動控制瀏覽器行為

 

 

 

參考文獻:

https://www.jianshu.com/p/1531e12f8852

https://blog.csdn.net/sinat_41774836/article/details/88965281

 

直接貼上我的代碼

from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.common.by import By
import time
import os

class upload(object):
    #打開瀏覽器
    def __init__(self):
        self.videopwd = 'F:\\腳本\\douyin\\douyindata2'
        self.videolist = os.listdir(self.videopwd)
        self.driver = webdriver.Chrome()
        self.driver.get("https://不告訴你.com")
        #等待10秒,微信掃碼登錄后繼續操作
        time.sleep(10)

    #執行上傳
    def uploadbtn(self,file):
        #定位上傳按鈕,添加本地文件
        wait_find_element=WebDriverWait(self.driver,8).until(EC.presence_of_element_located((By.CLASS_NAME, "file-input")))
        wait_find_element.send_keys(file)
        time.sleep(8)
        #點擊一鍵發布
        wait_find_element=WebDriverWait(self.driver, 15).until(EC.presence_of_element_located((By.CLASS_NAME, "btn-right")))
        wait_find_element.click()
        print('上傳',file,'結束')

    #重命名
    def renamefile(self,file):
        newvideo = video.replace('@', '')
        newvideo = newvideo.replace('#我的觀影報告', '')
        newvideo = newvideo.replace('#', '')
        newvideo = newvideo.replace('抖音', '')
        newvideo = newvideo.replace('小助手', '')
        newvideo = newvideo.replace('😂😂😂', '')
        newvideo = newvideo.replace(' ', '')
        srcfile = os.path.join(self.videopwd, video)
        dstfile = os.path.join(self.videopwd, newvideo)
        try:
            os.rename(srcfile, dstfile)
            return (dstfile)
        except:
            print(srcfile,'文件重命名失敗')

    #刪除文件
    def delfile(self,file):
        if os.path.exists(file):
            os.remove(file)
        if os.path.exists(file):
            print('刪除',file,'失敗')
        else:
            print('刪除',file,'成功')

if __name__=='__main__':
    pq=upload()
    for video in pq.videolist:
        if 'mp4' in video:
            #重命名
            file=pq.renamefile(video)
            #執行上傳
            pq.uploadbtn(file)
            #刪除視頻
            pq.delfile(file)
            time.sleep(5)

最后成功:

 

 

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM