溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Python如何構(gòu)建自動(dòng)在線刷視頻

發(fā)布時(shí)間:2021-12-28 10:38:18 來(lái)源:億速云 閱讀:194 作者:小新 欄目:開(kāi)發(fā)技術(shù)

小編給大家分享一下Python如何構(gòu)建自動(dòng)在線刷視頻,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

    一、完成功能的條件

    1.必備條件

    安裝Python環(huán)境(https://www.python.org/)

    安裝Selenium安裝

    使用的對(duì)應(yīng)版本瀏覽器驅(qū)動(dòng)(webdriver)

     2.非必備條件

    安裝PyCharm集成環(huán)境

    二、解決Python軟件的坑

    1.安裝Python

    Python如何構(gòu)建自動(dòng)在線刷視頻

    打勾的地方一定要加上,默認(rèn)方式是不選的,這將影響到命令行運(yùn)行python相關(guān)命令是否能正確執(zhí)行。

    2.安裝Selenium

    這個(gè)安裝其實(shí)真的簡(jiǎn)單,沒(méi)必要再去糾結(jié)怎么下載,怎么安裝了。直接在操作系統(tǒng)里進(jìn)入命令行界面,執(zhí)行一下:

    pip install selenium

    Python如何構(gòu)建自動(dòng)在線刷視頻

    3.下載并安裝Chrome驅(qū)動(dòng)

    這是真真正正的坑,有的人使用時(shí)以為自己已經(jīng)安裝過(guò)Chrome瀏覽器就以為直接可以用Python驅(qū)動(dòng)了,其實(shí)不然,還得有Chrome對(duì)應(yīng)版本的驅(qū)動(dòng)才行

    下載網(wǎng)址:http://npm.taobao.org/mirrors/chromedriver

    Python如何構(gòu)建自動(dòng)在線刷視頻

    是不是一下閃瞎了你的眼睛,這么多,那個(gè)才適合我呢?
    你需要首先看一下你的Chrome版本哦,對(duì)應(yīng)版本的驅(qū)動(dòng)才能用的。
    趕緊在瀏覽器中輸入下面的代碼看一下版本吧!

    chrome://version/

    Python如何構(gòu)建自動(dòng)在線刷視頻

    相信大家的版本跟我的都不一樣,我的是32位版本哦!為什么不用64位版本呢?網(wǎng)上能下的大部分都是64位版的呢。你在Chrome的驅(qū)動(dòng)里找一找,驅(qū)動(dòng)for Win基本都是32哦。所以還是趕緊換掉你的瀏覽器吧。這里正確的做法是在網(wǎng)上找32位的Chrome,然后對(duì)應(yīng)著看一下是否有對(duì)應(yīng)的驅(qū)動(dòng),如果兩個(gè)都有,那就趕緊下載吧。

    下載好的驅(qū)動(dòng)文件名:chromedriver.exe,為了減少配置的麻煩,應(yīng)該把這個(gè)文件放置在Python安裝文件夾中。如果不會(huì),可以右擊開(kāi)始菜單中的:Python菜單 》【屬性】》【打開(kāi)文件位置】然后直接粘貼即可。

    Python如何構(gòu)建自動(dòng)在線刷視頻

    二、萬(wàn)事具備、準(zhǔn)備開(kāi)工了

    不管你是善長(zhǎng)使用PyCharm還是使用Python自帶的IDLE,反正結(jié)果都一樣。

    1.驅(qū)動(dòng)Chrome ,讓它訪問(wèn)我們需要的網(wǎng)站吧:

    下面的代碼將自動(dòng)打開(kāi)Chrome 瀏覽器,并且最大化,然后自動(dòng)打開(kāi)要訪問(wèn)的網(wǎng)站。

    from selenium import webdriver
    from time import sleep
    driver=webdriver.Chrome()
    driver.maximize_window()
    # 網(wǎng)站地址請(qǐng)修改后使用
    driver.get("https://XXXX.XXXXXXX.cn/welcome/")

    Python如何構(gòu)建自動(dòng)在線刷視頻

    在瀏覽器中按F12功能鍵,進(jìn)入開(kāi)發(fā)者模式:選擇:Elements,按【Ctrl+F】進(jìn)行查找:找【用戶登錄】,可以定位到對(duì)應(yīng)的div標(biāo)簽,class是signIn,這里是通過(guò)單擊這個(gè)div進(jìn)入下一個(gè)頁(yè)面的。

    Python如何構(gòu)建自動(dòng)在線刷視頻

    上代碼:

    sleep(3)
    driver.find_element_by_class_name("signIn").click()

    全部代碼重新執(zhí)行后,將自動(dòng)在Chrome新標(biāo)簽頁(yè)上打開(kāi)【登錄】頁(yè)

    Python如何構(gòu)建自動(dòng)在線刷視頻

    這里有三個(gè)操作點(diǎn),需要我們自動(dòng)定位并輸入用戶名和密碼,然后單擊【登錄】按鈕。同時(shí)因?yàn)椤镜卿洝渴菃为?dú)的新的標(biāo)簽頁(yè),這也增加了操作的難度。同樣F12進(jìn)開(kāi)發(fā)者模式,分別查找:【用戶名】、【請(qǐng)輸入密碼】來(lái)確定兩個(gè)輸入框

    Python如何構(gòu)建自動(dòng)在線刷視頻
    Python如何構(gòu)建自動(dòng)在線刷視頻

    【登錄】按鈕這里用查找方式居然找不到,單擊開(kāi)發(fā)者模式左上角的【選擇】按鈕,單擊一下【登錄】位置能夠自動(dòng)確定

    Python如何構(gòu)建自動(dòng)在線刷視頻

    這個(gè)【登錄】是在標(biāo)記里面,其實(shí)是里顯示的文本。所以選擇到button,基本就成功了。處理的代碼如下:

    # 切換到新標(biāo)簽頁(yè)的代碼
    handles = driver.window_handles
    for handle in handles:
        if driver.current_window_handle != handle:
            driver.switch_to.window(handle)
    sleep(2)
    # 找到用戶名框并單擊定位
    driver.find_element_by_id("username").click()
    sleep(2)
    # 模擬鍵盤在用戶名框輸入用戶名
    driver.find_element_by_id("username").send_keys('327XXXX9880212XXXX')
    sleep(2)
    # 定位到密碼框單擊
    driver.find_element_by_id('password').click()
    # 模擬輸入密碼
    driver.find_element_by_id('password').send_keys('12345678')
    sleep(1)
    # 定位到登錄按鈕并單擊
    driver.find_element_by_tag_name('button').click()

    2.對(duì)于比較復(fù)雜的class選擇器

    比如:
    <button type="button" class="ant-btn ant-btn-link role-card-btn"><span>進(jìn)入工作臺(tái)</span></button>
    如果頁(yè)面中有多個(gè)button,就不太好使用button這個(gè)tag的情況下,可以使用

    driver.find_element_by_css_selector("[class='ant-btn ant-btn-link role-card-btn']").click()

    3.對(duì)于用戶名和密碼,可以使用文件讀寫方式處理

    f=open('user.txt','r')
    driver.find_element_by_id("username").click()
    driver.find_element_by_id("username").send_keys(f.readline().strip('\r\n'))
    driver.find_element_by_id('password').click()
    driver.find_element_by_id('password').send_keys(f.readline().strip('\r\n'))

    user.txt的文件格式:

    327XXXX9880212XXXX
    12345678

    4.對(duì)于多個(gè)視頻文件的處理,一般使用

    # 獲取到多個(gè)元素的情,類似于數(shù)組,通過(guò)下標(biāo)方式來(lái)操作每個(gè)元素
    sipin= driver.find_elements_by_css_selector("[class='XX-YY_ZZ']")
    sipin[0].click()
    sleep(60*時(shí)間)
    sipin[1].click()

    5.關(guān)閉瀏覽器的操作(兩個(gè)操作可選)

    # 關(guān)閉當(dāng)前窗體
    driver.close()
    # 關(guān)閉整個(gè)瀏覽器
    driver.quit()

    以上是“Python如何構(gòu)建自動(dòng)在線刷視頻”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

    向AI問(wèn)一下細(xì)節(jié)

    免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

    AI