python实现自动打卡的示例代码
自己也百度了一下,然后写的,分为了三个部分,见三段代码
代码:主程序代码
import timefrom selenium import webdriverfromprivate_infoimport* importsend_mail defsignin_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()
'''打卡成功后为用户发送邮件代码'''importsmtplib fromemail.mime.textimportMIMEText fromprivate_infoimport* defmail(): #设置邮件内容用的是之前返回的提示信息 #注意以下内容的格式 #可以设置多个用户此处我只设置了一个用户 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())#发送 exceptsmtplib.SMTPExceptionase:
#个人信息classUser: 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自动打卡的资料请关注毛票票其它相关文章!