首頁 > 軟體

利用Python實現網站自動簽到

2022-08-02 18:07:04

前情提要

小五收藏了一些論壇網站,經常需要自己登入簽到,以此來獲得積分金幣等等。

步驟倒是並不複雜,只需要填寫賬號密碼登入,然後點選簽到即可。

但天天手動太容易忘了這件事啦。畢竟我們都會用python了,那就可以使用Selenium操作;瀏覽器實現自動簽到啊!

現在開始上手工作

準備工作

首先我們需要先安裝Selenium,從而實現後續自動化操控瀏覽器。我們可以利用它來模擬滑鼠按鍵,跟按鍵精靈很類似。

pip install selenium

待其安裝完成後,準備另一個必需工具。

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

這裡需要知道瀏覽器的版本資訊,只需開啟“關於Chrome”,就可以看到了。

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

點選進去選擇對應的系統版本,下載後將chromedriver.exe解壓出來,最後將其放到與python.exe檔案相同的路徑下。

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

C:UsersAdministratoranaconda3

具體位置如下圖所示

下面我們就可以正式用python自動簽到了。

程式碼及講解

首先開啟我要登入的網站,具體域名就不分享給大家了。

先匯入selenium庫,這裡只需使用selenium中的webdriver模組,執行

from selenium import webdriver

開啟下載的瀏覽器驅動,設定隱式等待時

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

執行程式碼的時候會自行去尋找chromedriver.exe(在python目錄下尋找)。如果我們前面沒有把它放在固定的路徑下,就需要在這裡指定chromedriver.exe路徑。

開啟登入網頁

wd.get('待登入網站URL')

如上圖所示,模擬瀏覽器已經開啟了網站的登入介面。這個時候我們需要定位到輸入框、密碼框以及登入按鈕等。

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

【檢查】→【進入開發者模式】點選左上角的圖示,再點選你要找的物件,即可得到該物件的資訊。點位該物件後,右鍵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')

至於需要點選的物件,可以使用click()來實現模擬點選的功能。

點選登入

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

點選跳過彈窗

一般登入後會有個小彈窗,關閉即可。

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("已簽到")

最後要記得關閉瀏覽器視窗

wd.quit()

注:close()關閉當前視窗,wd.quit()則是關閉所有視窗。

點選執行上面的全部程式碼,即可實現python對網站的自動簽到。我們還可以將該python指令碼設定為定時任務,這樣就不用每天手動去簽到啦!

小結

作為演示的這個網站非常簡單,如果大家也想用python來自動簽到的話,要根據自己的網站情況來改寫指令碼。

其實 Selenium 更多的用法是自動化測試、爬蟲等,具體Selenium的詳細用法,可以參考檔案。

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

到此這篇關於利用Python實現網站自動簽到的文章就介紹到這了,更多相關Python網站簽到內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com