利用Python實現網站自動簽到
前情提要
小五收藏瞭一些論壇網站,經常需要自己登錄簽到,以此來獲得積分金幣等等。
步驟倒是並不復雜,隻需要填寫賬號密碼登錄,然後點擊簽到即可。
但天天手動太容易忘瞭這件事啦。畢竟我們都會用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:\Users\Administrator\anaconda3
具體位置如下圖所示
下面我們就可以正式用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('[email protected]')
同理,我們可以定位到密碼框,再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網站簽到內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- Python自動化測試之登錄腳本的實現
- python+selenium小米商城紅米K40手機自動搶購的示例代碼
- Python語言中的Selenium環境搭建
- 手把手教你搭建python+selenium自動化環境(圖文)
- 詳解Python 使用 selenium 進行自動化測試或者協助日常工作