python實現自動打卡的示例程式碼
阿新 • • 發佈:2020-10-12
自己也百度了一下,然後寫的,分為了三個部分,見三段程式碼
程式碼:主程式程式碼
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 自動打卡的資料請關注我們其它相關文章!