您好,登錄后才能下訂單哦!
小編給大家分享一下Python如何構(gòu)建自動(dòng)在線刷視頻,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
安裝Python環(huán)境(https://www.python.org/)
安裝Selenium安裝
使用的對(duì)應(yīng)版本瀏覽器驅(qū)動(dòng)(webdriver)
安裝PyCharm集成環(huán)境
打勾的地方一定要加上,默認(rèn)方式是不選的,這將影響到命令行運(yùn)行python相關(guān)命令是否能正確執(zhí)行。
這個(gè)安裝其實(shí)真的簡(jiǎn)單,沒(méi)必要再去糾結(jié)怎么下載,怎么安裝了。直接在操作系統(tǒng)里進(jìn)入命令行界面,執(zhí)行一下:
pip install selenium
這是真真正正的坑,有的人使用時(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
是不是一下閃瞎了你的眼睛,這么多,那個(gè)才適合我呢?
你需要首先看一下你的Chrome版本哦,對(duì)應(yīng)版本的驅(qū)動(dòng)才能用的。
趕緊在瀏覽器中輸入下面的代碼看一下版本吧!
chrome://version/
相信大家的版本跟我的都不一樣,我的是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)文件位置】然后直接粘貼即可。
不管你是善長(zhǎng)使用PyCharm還是使用Python自帶的IDLE,反正結(jié)果都一樣。
下面的代碼將自動(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/")
在瀏覽器中按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è)面的。
上代碼:
sleep(3) driver.find_element_by_class_name("signIn").click()
全部代碼重新執(zhí)行后,將自動(dòng)在Chrome新標(biāo)簽頁(yè)上打開(kāi)【登錄】頁(yè)
這里有三個(gè)操作點(diǎn),需要我們自動(dòng)定位并輸入用戶名和密碼,然后單擊【登錄】按鈕。同時(shí)因?yàn)椤镜卿洝渴菃为?dú)的新的標(biāo)簽頁(yè),這也增加了操作的難度。同樣F12進(jìn)開(kāi)發(fā)者模式,分別查找:【用戶名】、【請(qǐng)輸入密碼】來(lái)確定兩個(gè)輸入框
【登錄】按鈕這里用查找方式居然找不到,單擊開(kāi)發(fā)者模式左上角的【選擇】按鈕,單擊一下【登錄】位置能夠自動(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()
比如:<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
# 獲取到多個(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()
# 關(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è)資訊頻道!
免責(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)容。