Python——自動簽到指令碼
Python——自動簽到指令碼
技術參考:點此跳轉
如果寫程式碼是為了幹壞事,那將動力無窮。
業務分析:
1. 打卡 selenium 實現
具體的可以看看 技術參考連結裡大佬的具體實現思路
def AutoSignIn(user_root,user_password):
root = user_root
password = user_password
url = 'http://my.hhu.edu.cn/login.portal'
chromedriver_path = "C:/Program Files (x86)/Google/Chrome/Application/chromedriver.exe"
driver = webdriver.Chrome(chromedriver_path)
driver.get(url)
driver.find_element_by_xpath('//*[@id="username"]').send_keys(root)
driver.find_element_by_xpath('//*[@id="password"]').send_keys(password)
driver.find_element_by_xpath('//*[@id="changeBack"]/tbody/tr/td[2]/table[1]/tbody/tr[2]/td/div/input[1]').click()
sleep(5);
form = 'http://form.hhu.edu.cn/pdc/form/list'
driver.get(form)
sleep(5);
driver.find_element_by_xpath('/html/body/div[1]/div[4]/div/section/section/div/a/div[2]').click()
sleep(5);
driver.find_element_by_xpath('//*[@id="saveBtn"]').click()
sleep(5);
2. 郵件通知
def sendEmail(reciver):
# 發件方
from_addr = 'yours@qq.com'
password = 'yours' # 授權碼的獲取方式可以百度
# 收件方
to_addr = reciver
# 伺服器
smtp_server = 'smtp.qq.com'
#獲取時間
i = datetime.datetime.now()
#郵件內容
content = 'DedSec 已經幫你在' + str(i) + ',這個時間完成了你煩人的河海大學健康打卡!##請勿回覆##'
# 郵箱正文內容,第一個引數為內容,第二個引數為格式(plain 為純文字),第三個引數為編碼
msg = MIMEText(content, 'plain', 'utf-8')
# 郵件頭資訊
msg['From'] = Header(from_addr)
msg['To'] = Header(to_addr)
msg['Subject'] = Header('DedSec')
# 開啟發信服務,這裡使用的是加密傳輸
server = smtplib.SMTP_SSL(smtp_server)
server.connect(smtp_server, 465)
# 登入發信郵箱
server.login(from_addr, password)
# 傳送郵件
server.sendmail(from_addr, to_addr, msg.as_string())
# 關閉伺服器
server.quit()
3. 使用者型別
class user_info:
username = ''
password = ''
email = ''
def __init__(self,userName,passWord,Email):
self.username = userName
self.password = passWord
self.email = Email
4. 完整程式碼
from selenium import webdriver
from time import sleep
# smtplib 用於郵件的發信動作
import smtplib
# email 用於構建郵件內容
from email.mime.text import MIMEText
# 用於構建郵件頭
from email.header import Header
#日期與時間
import datetime
import time
class user_info:
username = ''
password = ''
email = ''
def __init__(self,userName,passWord,Email):
self.username = userName
self.password = passWord
self.email = Email
def AutoSignIn(user_root,user_password):
root = user_root
password = user_password
url = 'http://my.hhu.edu.cn/login.portal'
chromedriver_path = "C:/Program Files (x86)/Google/Chrome/Application/chromedriver.exe"
driver = webdriver.Chrome(chromedriver_path)
driver.get(url)
driver.find_element_by_xpath('//*[@id="username"]').send_keys(root)
driver.find_element_by_xpath('//*[@id="password"]').send_keys(password)
driver.find_element_by_xpath('//*[@id="changeBack"]/tbody/tr/td[2]/table[1]/tbody/tr[2]/td/div/input[1]').click()
sleep(5);
form = 'http://form.hhu.edu.cn/pdc/form/list'
driver.get(form)
sleep(5);
driver.find_element_by_xpath('/html/body/div[1]/div[4]/div/section/section/div/a/div[2]').click()
sleep(5);
driver.find_element_by_xpath('//*[@id="saveBtn"]').click()
sleep(5);
def sendEmail(reciver):
# 發件方
from_addr = 'yours@qq.com'
password = 'yours'
# 收件方
to_addr = reciver
# 伺服器
smtp_server = 'smtp.qq.com'
#獲取時間
i = datetime.datetime.now()
#郵件內容
content = 'DedSec 已經幫你在' + str(i) + ',這個時間完成了你煩人的河海大學健康打卡!##請勿回覆##'
# 郵箱正文內容,第一個引數為內容,第二個引數為格式(plain 為純文字),第三個引數為編碼
msg = MIMEText(content, 'plain', 'utf-8')
# 郵件頭資訊
msg['From'] = Header(from_addr)
msg['To'] = Header(to_addr)
msg['Subject'] = Header('DedSec')
# 開啟發信服務,這裡使用的是加密傳輸
server = smtplib.SMTP_SSL(smtp_server)
server.connect(smtp_server, 465)
# 登入發信郵箱
server.login(from_addr, password)
# 傳送郵件
server.sendmail(from_addr, to_addr, msg.as_string())
# 關閉伺服器
server.quit()
if __name__ == '__main__':
#劉生偉
user = user_info('username','password','yours@qq.com')
userList = [user];
for i in range (len(userList)):
AutoSignIn(userList[i].username,userList[i].password)
sendEmail(userList[i].email)
print("打卡完畢,郵件傳送完畢")
sleep(5)
print("全部完畢")
因為適用性比較低,資料直接儲存在程式碼裡,如果可以接收大使用者量,可以考慮使用資料庫。
相關文章
- Python 指令碼自動視窗截圖Python指令碼
- python實現自動搶課指令碼Python指令碼
- 開機自動執行python指令碼Python指令碼
- 夸克自動簽到轉存到emby
- 利用Python實現自動掃雷小指令碼Python指令碼
- 自動化瓦力多渠道打包python指令碼Python指令碼
- specjvm自動化指令碼JVM指令碼
- 自動備份指令碼指令碼
- 用python寫一個自動化盲註指令碼Python指令碼
- Shell指令碼實現生成SSL自簽署證書指令碼
- Webpy 自動簽到系統 支援多使用者 多平臺簽到Web
- iOS逆向 Shell指令碼+指令碼重簽名iOS指令碼
- Ubuntu自動啟動配置指令碼Ubuntu指令碼
- [python] request 介面測試自動化指令碼轉化為 [locust] 效能測試指令碼Python指令碼
- 如何把 awk 指令碼移植到 Python指令碼Python
- python股票自動 選股 與 止損 止盈 指令碼Python指令碼
- Dockerfile---指令碼自動化Docker指令碼
- vue自動化部署指令碼Vue指令碼
- 使用指令碼重簽名指令碼
- centos 自動啟動指令碼和自啟動服務CentOS指令碼
- 自動化指令碼安裝mysql shell指令碼範例指令碼MySql
- 使用CukeTest建立指令碼自動化備份檔案到網盤指令碼
- 可自動切換 learnku 夜間 / 白天模式的 python 指令碼模式Python指令碼
- 10個Python指令碼來自動化你的日常任務Python指令碼
- Oauth的學習以及開發自助上課簽到指令碼OAuth指令碼
- 【Python】python程式碼來登陸網站簽到米粒VPNPython網站
- iOS —— 兩套自動打包指令碼iOS指令碼
- mydumper自動化安裝指令碼指令碼
- oracle自動冷備份指令碼Oracle指令碼
- 實現指令碼自動部署docker指令碼Docker
- python自動化指令碼例項100條-自動化運維基礎例項解析-Python批量登入到伺服器執行任務...Python指令碼運維伺服器
- nodejs什麼值得買自動簽到自動評論郵件傳送NodeJS
- MySQL自動備份指令碼30天自動刪除MySql指令碼
- 透過標籤清理微信好友:Python自動化指令碼解析Python指令碼
- Centos7 啟動 python指令碼CentOSPython指令碼
- awr報告每天自動生成指令碼指令碼
- Linux 新增指令碼開機自啟動Linux指令碼
- golang一鍵自動安裝指令碼Golang指令碼