1. 程式人生 > 程式設計 >python實現自動打卡的示例程式碼

python實現自動打卡的示例程式碼

自己也百度了一下,然後寫的,分為了三個部分,見三段程式碼

程式碼:主程式程式碼

importtimefromseleniumimportwebdriverfrom private_info import *
import send_mail

def signin_and_email():
  #谷歌瀏覽器驅動的位置
  driver=webdriver.Chrome("D:/...../chromedriver")
  driver.get('http://****.edu.cn/login.portal')   #通過id找到填寫使用者名稱及密碼的地方 並填入
  driver.find_element_by_id("username").send_keys(User.uid)
  driver.find_element_by_id("password").send_keys(User.pwd)   #點選登入
  driver.find_element_by_name("login").click()
  #通過下面第二行程式碼定位當前的頁面,下面第一行程式碼不可以省去(初學selenium,所以我一直定位到當前頁面再去定位的)  #下面這一段根據自己的需要來寫
  time.sleep(1)
  middle_window=driver.current_window_handle
  #定位當前頁面後仍然用driver
  driver.get("http://form.***.edu.cn/pdc/form/list")
  time.sleep(1)
  middle_window=driver.current_window_handle
  #定位當前頁面後仍然用driver
  driver.get("http://form.***.edu.cn/pdc/formDesignApi/S/gUTwwojq")
  time.sleep(1)
  middle_window=driver.current_window_handle  #點選提交
  driver.find_element_by_id("saveBtn").click()
  #提交後給使用者傳送郵件提醒
  send_mail.mail()
'''打卡成功後為使用者傳送郵件程式碼'''import smtplib
from email.mime.text import MIMEText
from private_info import *

def mail():
  #設定郵件內容 用的是之前返回的提示資訊
  #注意以下內容的格式
  #可以設定多個使用者 此處我只設定了一個使用者
  mail_host="smtp.163.com"
  mail_user=User.email
  mail_pass=User.email_pwd
  sender=User.email
  receivers=[User.receiver]

  content = '打卡成功!'
  title = '今日健康打卡已成功' # 郵件主題
  message = MIMEText(content,'plain','utf-8') # 內容,格式,編碼
  message['From'] = "{}".format(sender)
  message['To'] = ",".join(receivers)
  message['Subject'] = title
 
  try:
    smtpObj = smtplib.SMTP_SSL(mail_host,465) # 啟用SSL發信,埠一般是465
    smtpObj.login(mail_user,mail_pass) # 登入驗證
    smtpObj.sendmail(sender,receivers,message.as_string()) # 傳送
  except smtplib.SMTPException as e:
#個人資訊class User:
  uid="........"#使用者賬號
  pwd="........"#使用者密碼
  email="........."#發件郵箱
  email_pwd="........"#這裡的密碼是授權碼
  receiver='........'#收件郵箱

  def __init__(self,uid,pwd,email,email_pwd):
    #私有    
    self.uid=uid
    self.pwd=pwd
    self.email=email
    self.email_pwd=email_pwd
    self.receiver=receiver

以上就是python實現自動打卡的示例程式碼的詳細內容,更多關於python 自動打卡的資料請關注我們其它相關文章!