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

利用Python腳本實(shí)現(xiàn)自動(dòng)刷網(wǎng)課

 更新時(shí)間:2020年02月03日 11:56:29   作者:librauee  
這篇文章主要介紹了利用Python腳本實(shí)現(xiàn)自動(dòng)刷網(wǎng)課,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

人在學(xué)校,身不由己。總有一些奇奇怪怪的學(xué)習(xí)任務(wù),需要我們刷夠一定的時(shí)長去完成,但這很多都是不太令人感興趣的文字或是視頻,而這些課都有共同的特點(diǎn)就是會(huì)間隔一定時(shí)間發(fā)出彈窗,確認(rèn)屏幕前的我們是否還在瀏覽頁面。每次靠人工去點(diǎn)擊,會(huì)嚴(yán)重影響我們做其他正事的效率。

最近小李也需要刷夠一定的學(xué)習(xí)時(shí)長。于是乎,我便找了好兄弟Python來幫忙。下面我們就用Python來實(shí)現(xiàn)自動(dòng)化刷課吧!

說到自動(dòng)化,Selenium這個(gè)瀏覽器自動(dòng)化測試框架就派上了用場,整個(gè)自動(dòng)刷課的主角便是它。

網(wǎng)站登錄

那么為了實(shí)現(xiàn)自動(dòng)刷課,我們需要先實(shí)現(xiàn)網(wǎng)站登錄,才能在指定的賬號(hào)內(nèi)進(jìn)行操作。常規(guī)的,我們需要在對(duì)應(yīng)的位置,找到網(wǎng)頁上對(duì)應(yīng)的元素,并通過程序?qū)懭搿?/p>

而這里有個(gè)相對(duì)麻煩的東西,即驗(yàn)證碼,而這個(gè)驗(yàn)證碼是白底黑字,是簡單的字母數(shù)字形式,自然而然地就想到了Python的OCR庫 tesserocr 。

把網(wǎng)站登錄界面的驗(yàn)證碼圖片下載下來,調(diào)用 tesserocr 進(jìn)行識(shí)別。輸出result 即為讀出的字符串序列。

def ocr():
    image=Image.open('captcha.jpg')
    image=image.convert('L')
    threshold=127
    table=[]
    for i in range(256):
      if i<threshold:
        table.append(0)
      else:
        table.append(1) 
    image=image.point(table,'1')
    result=tesserocr.image_to_text(image)
    return result

解決了驗(yàn)證碼,我們直接用selenium模擬點(diǎn)擊 登錄 按鈕,便完成了登錄過程。

進(jìn)入課程

我們需要進(jìn)入的是這個(gè)實(shí)驗(yàn)室準(zhǔn)入頁面,完成相關(guān)課程的學(xué)習(xí)。

在編寫代碼的過程中一直遇到報(bào)錯(cuò),信息如下:ElementNotInteractableException ,即這個(gè)頁面元素不能交互。我一度懷疑這個(gè)元素是因?yàn)?style 里的display屬性設(shè)置成了none。經(jīng)過觀察發(fā)現(xiàn),這個(gè)元素并沒有隱藏。

在面向Google編程中我發(fā)現(xiàn)了問題的所在,有大佬總結(jié)了這一類錯(cuò)誤發(fā)生的原因。

首先查看是否需要切換 iframe, 然后看看是否需要用js的方法來scroll滾動(dòng)條,接著看看是否需要加等待時(shí)間,最后check下這個(gè)元素是否是可以點(diǎn)擊的。

因?yàn)閟elenium操作頁面切換可能沒有那么塊,sleep延時(shí)一下等頁面切換了再進(jìn)行元素的查找。

彈出框處理

問題解決之后我們就來到了課程學(xué)習(xí)的頁面。

而這個(gè)頁面每個(gè)5分鐘就會(huì)彈出提醒框,然后暫停課程的學(xué)習(xí),因此我們需要利用selenium自動(dòng)完成關(guān)閉提醒框的操作。

def answer_confirm(self):
    # 每隔5分鐘彈出確認(rèn)窗口
    count=1
    while 1:
      try:
        confirm=self.browser.switch_to_alert()
        print(confirm.text)
        confirm.accept()
        print("您已經(jīng)完成時(shí)長為{}分鐘的閱讀!".format(count*5))
        count+=1
        time.sleep(300)
      except:
        time.sleep(2)

這樣我們的程序就可以操作瀏覽器并完成一定時(shí)長的學(xué)習(xí)任務(wù)啦~

總結(jié)

以上所述是小編給大家介紹的利用Python腳本實(shí)現(xiàn)自動(dòng)刷網(wǎng)課,希望對(duì)大家有所幫助!

相關(guān)文章

  • 返回最大值的index pytorch方式

    返回最大值的index pytorch方式

    這篇文章主要介紹了返回最大值的index pytorch方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-07-07
  • python調(diào)用windows api鎖定計(jì)算機(jī)示例

    python調(diào)用windows api鎖定計(jì)算機(jī)示例

    這篇文章主要介紹了python調(diào)用windows api鎖定計(jì)算機(jī)示例,需要的朋友可以參考下
    2014-04-04
  • Django在Win7下的安裝及創(chuàng)建項(xiàng)目hello word簡明教程

    Django在Win7下的安裝及創(chuàng)建項(xiàng)目hello word簡明教程

    這篇文章主要介紹了Django在Win7下的安裝及創(chuàng)建項(xiàng)目hello word,需要的朋友可以參考下
    2014-07-07
  • 詳解Python?Requests庫中的重試策略

    詳解Python?Requests庫中的重試策略

    在Python中,requests庫是處理HTTP請(qǐng)求的標(biāo)準(zhǔn)工具之一,這篇文章主要為大家介紹了如何在requests中實(shí)現(xiàn)請(qǐng)求的自動(dòng)重試,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2023-11-11
  • Python實(shí)現(xiàn)Appium端口檢測與釋放的實(shí)現(xiàn)

    Python實(shí)現(xiàn)Appium端口檢測與釋放的實(shí)現(xiàn)

    這篇文章主要介紹了Python實(shí)現(xiàn)Appium端口檢測與釋放的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • Python?如何調(diào)用手機(jī)攝像頭

    Python?如何調(diào)用手機(jī)攝像頭

    本文介紹了如何使用Python和OpenCV庫在電腦上通過網(wǎng)絡(luò)連接查看和控制安卓手機(jī)攝像頭,詳細(xì)步驟包括安裝IP攝像頭服務(wù)器軟件,在同一局域網(wǎng)中連接手機(jī)和電腦,編寫Python腳本捕獲攝像頭數(shù)據(jù),以及保存照片等操作,感興趣的朋友跟隨小編一起看看吧
    2024-09-09
  • python爬蟲入門教程之糗百圖片爬蟲代碼分享

    python爬蟲入門教程之糗百圖片爬蟲代碼分享

    這篇文章主要介紹了python爬蟲入門教程之糗百圖片爬蟲代碼分享,本文以抓取糗事百科內(nèi)涵圖為需求寫了一個(gè)爬蟲,,需要的朋友可以參考下
    2014-09-09
  • Python 查看list中是否含有某元素的方法

    Python 查看list中是否含有某元素的方法

    今天小編就為大家分享一篇Python 查看list中是否含有某元素的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-06-06
  • 最新評(píng)論