自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

太贊了! 菜鳥利用Python實(shí)現(xiàn)網(wǎng)站自動(dòng)簽到

開發(fā) 后端
點(diǎn)擊運(yùn)行上面的全部代碼,即可實(shí)現(xiàn)python對(duì)網(wǎng)站的自動(dòng)簽到。我們還可以將該python腳本設(shè)置為定時(shí)任務(wù),這樣就不用每天手動(dòng)去簽到啦!

前情提要

小五收藏了一些論壇網(wǎng)站,經(jīng)常需要自己登錄簽到,以此來獲得積分金幣等等。

步驟倒是并不復(fù)雜,只需要填寫賬號(hào)密碼登錄,然后點(diǎn)擊簽到即可。

但天天手動(dòng)太容易忘了這件事啦。畢竟我們都會(huì)用python了,那就可以使用Selenium操作;瀏覽器實(shí)現(xiàn)自動(dòng)簽到??!

現(xiàn)在開始上手工作??

準(zhǔn)備工作

首先我們需要先安裝Selenium,從而實(shí)現(xiàn)后續(xù)自動(dòng)化操控瀏覽器。我們可以利用它來模擬鼠標(biāo)按鍵,跟按鍵精靈很類似。

pip install selenium

待其安裝完成后,準(zhǔn)備另一個(gè)必需工具。

selenium可以操控多款瀏覽器,包括谷歌,火狐等,這里小五使用的是谷歌瀏覽器。

這里需要知道瀏覽器的版本信息,只需打開“關(guān)于Chrome”,就可以看到了。

如上圖所示,我的瀏覽器版本是89.0.4389.114。然后我們需要前往(http://chromedriver.storage.googleapis.com/index.html)找到與瀏覽器相匹配的版本,沒有一模一樣的選擇最近的版本也可以。

點(diǎn)擊進(jìn)去選擇對(duì)應(yīng)的系統(tǒng)版本,下載后將chromedriver.exe解壓出來,最后將其放到與python.exe文件相同的路徑下。

如果你是用的anaconda就放在下面目錄下:

C:\Users\Administrator\anaconda3

具體位置如下圖所示??

下面我們就可以正式用python自動(dòng)簽到了。

代碼及講解

首先打開我要登錄的網(wǎng)站,具體域名就不分享給大家了。

先導(dǎo)入selenium庫(kù),這里只需使用selenium中的webdriver模塊,運(yùn)行:

from selenium import webdriver

打開下載的瀏覽器驅(qū)動(dòng),設(shè)置隱式等待時(shí):

wd=webdriver.Chrome()
wd.implicitly_wait(1)

??執(zhí)行代碼的時(shí)候會(huì)自行去尋找chromedriver.exe(在python目錄下尋找)。如果我們前面沒有把它放在固定的路徑下,就需要在這里指定chromedriver.exe路徑。

打開登錄網(wǎng)頁:

wd.get('待登錄網(wǎng)站URL')

如上圖所示,模擬瀏覽器已經(jīng)打開了網(wǎng)站的登錄界面。這個(gè)時(shí)候我們需要定位到輸入框、密碼框以及登錄按鈕等。

這里不用擔(dān)心,Selenium提供了很多種定位DOM元素的方法,各有各的特點(diǎn)和優(yōu)勢(shì)。今天就主要使用 by_xpath() 這個(gè)方法來定位元素,這個(gè)方法比較靈活方便,大部分屬性都可以通過它來定位。

【檢查】→【進(jìn)入開發(fā)者模式】點(diǎn)擊左上角的圖標(biāo),再點(diǎn)擊你要找的對(duì)象,即可得到該對(duì)象的信息。點(diǎn)位該對(duì)象后,右鍵copy它的XPath!


input = wd.find_element_by_xpath('//*[@id="email"]')
input.send_keys('kxpython@163.com')

同理,我們可以定位到密碼框,再send_keys輸入密碼:

password = wd.find_element_by_xpath('//*[@id="password"]')
password.send_keys('kxpython')

至于需要點(diǎn)擊的對(duì)象,可以使用click()來實(shí)現(xiàn)模擬點(diǎn)擊的功能。

點(diǎn)擊登錄

button_login = wd.find_element_by_xpath('//*[@id="app"]/section/div/div/div/div[2]/form/div/div[5]/button')
button_login.click()

點(diǎn)擊跳過彈窗

一般登錄后會(huì)有個(gè)小彈窗,關(guān)閉即可。

wd.find_element_by_xpath('//*[@id="popup-ann-modal"]/div/div/div[3]/button').click()

嘗試簽到

try:
wd.find_element_by_xpath('//*[@id="checkin-div"]/a').click()
except:
print("已簽到")

最后要記得關(guān)閉瀏覽器窗口。

wd.quit()
  • 注:close()關(guān)閉當(dāng)前窗口,wd.quit()則是關(guān)閉所有窗口。

點(diǎn)擊運(yùn)行上面的全部代碼,即可實(shí)現(xiàn)python對(duì)網(wǎng)站的自動(dòng)簽到。我們還可以將該python腳本設(shè)置為定時(shí)任務(wù),這樣就不用每天手動(dòng)去簽到啦!

小結(jié)

作為演示的這個(gè)網(wǎng)站非常簡(jiǎn)單,如果大家也想用python來自動(dòng)簽到的話,要根據(jù)自己的網(wǎng)站情況來改寫腳本。

其實(shí) Selenium 更多的用法是自動(dòng)化測(cè)試、爬蟲等,具體Selenium的詳細(xì)用法,可以參考文檔。

地址:??http://selenium-python.readthedocs.org/???

我們學(xué)習(xí)python時(shí),可以嘗試用來解決自己的生活問題,這樣學(xué)得也更扎實(shí),學(xué)得也更有趣味!

責(zé)任編輯:龐桂玉 來源: 菜鳥學(xué)Python
相關(guān)推薦

2022-09-07 12:00:26

Python3D游戲

2021-12-02 09:31:22

Python 代碼進(jìn)度條

2022-08-19 14:16:02

Python命令

2024-08-09 08:46:00

Springjar 包YAML

2021-12-17 15:03:50

Python工具代碼

2020-05-11 18:00:48

規(guī)范數(shù)據(jù)分析架構(gòu)

2020-03-06 08:27:11

Linux命令操作系統(tǒng)

2020-12-17 09:20:44

Python自動(dòng)掃雷腳本

2024-09-03 10:44:32

2020-03-18 09:23:24

Python數(shù)據(jù)SQL

2022-05-11 07:41:31

Python驗(yàn)證碼

2021-10-02 10:48:05

密碼微軟無密碼登入

2024-01-05 13:26:00

KafkaTopicSpring

2024-01-26 07:48:10

SpringKafka提升

2021-04-23 22:35:32

程序員工具網(wǎng)站

2015-04-16 12:27:08

云之家

2009-08-05 17:58:34

實(shí)現(xiàn)ASP.NET網(wǎng)站

2017-11-03 17:05:11

開源

2022-01-10 22:52:47

代碼Node.js簽到

2024-12-11 09:25:59

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)