1. 程式人生 > 實用技巧 >還能這樣偷懶?用Python實現網站自動簽到指令碼

還能這樣偷懶?用Python實現網站自動簽到指令碼

本文的文字及圖片來源於網路,僅供學習、交流使用,不具有任何商業用途,如有問題請及時聯絡我們以作處理。

以下文章來自於西紅柿炒番茄,作者:西紅柿炒番茄715

首先你需要準備一個谷歌瀏覽器

然後下載谷歌瀏覽器相應版本的chromedriver

下載地址:

http://chromedriver.storage.googleapis.com/index.html

相關的版本可以在谷歌根目錄第一個資料夾看到

下載相應的chromedriver後

將其放到安裝根目錄

然後我們進入python階段

首先需要下載selenium包

在Anaconda Prompt中直接

pip install selenium

然後在python中,首先匯入該模組

from selenium import webdriver
import os
import time

定位chromedriver位置

chromedriver = "C:\Program Files (x86)\Google\Chrome\Application\chromedriver"
os.environ["webdriver.chrome.driver"] = chromedriver

模擬開啟瀏覽器

driver = webdriver.Chrome(chromedriver)  
driver.get("https://bbs.hcbbs.com/")  
driver.maximize_window()  

然後開始模擬按鍵

以海川論壇為例

我們以使用者名稱和密碼登入方式

首先點選F12

撥出那一大堆看不懂的東西

然後在登入那個地方右鍵

點選“檢查”

右側的程式碼就會定位相應的控制命令

對著這一行程式碼

右鍵-copy-copyXpath

這樣就獲得了相應的控制元件位置

找到控制元件並click

driver.find_element_by_xpath('//*[@id="lsform"]/div/div[1]/p[1]/a').click()

進入登入頁面後

用相同方法找到使用者名稱和密碼輸入框的控制程式碼

找到控制元件並輸入

driver.find_element_by_xpath('//*[@id="username"]').send_keys(myuername1)
driver.find_element_by_xpath('//*[@id="password"]').send_keys(mypassword1)

點選登入並點選簽到

driver.find_element_by_xpath('//*[@id="abtn"]').click() #登入
time.sleep(1)
driver.find_element_by_xpath('//*[@id="fx_checkin_b"]').click() #簽到

完整程式碼如下

from selenium import webdriver
import os
import time

myuername1='********'
mypassword1='**********'

chromedriver = "C:\Program Files (x86)\Google\Chrome\Application\chromedriver"  
os.environ["webdriver.chrome.driver"] = chromedriver
driver = webdriver.Chrome(chromedriver)  
driver.get("https://bbs.hcbbs.com/") 
driver.maximize_window()   
time.sleep(2)
print('111')
driver.find_element_by_xpath('//*[@id="lsform"]/div/div[1]/p[1]/a').click() 
driver.find_element_by_xpath('//*[@id="username"]').send_keys(myuername1)
driver.find_element_by_xpath('//*[@id="password"]').send_keys(mypassword1)
driver.find_element_by_xpath('//*[@id="abtn"]').click() 
time.sleep(1)
driver.find_element_by_xpath('//*[@id="fx_checkin_b"]').click() 

是不是很方便

把需要簽到的網站都設定上

每天早上來了點一下

然後泡杯茶

就簽到完了~