zoukankan      html  css  js  c++  java
  • python实现自动打卡

    自己也百度了一下,然后写的,分为了三个部分,见三段代码

    代码:主程序代码

    import timefrom selenium import webdriver
    from
    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
  • 相关阅读:
    Vue项目根据不同运行环境打包项目
    [Vue CLI 3] @vue/cli-plugin-eslint 源码分析
    [Vue CLI 3] 插件开发中的 genCacheConfig 细节研究
    [Vue CLI 3] 配置解析之 parallel
    [Vue CLI 3] 配置 webpack-bundle-analyzer 插件
    [Vue CLI 3] 插件开发之 registerCommand 到底做了什么
    [Vue CLI 3] Uglify 相关的应用和设计
    [Vue CLI 3] vue inspect 的源码设计实现
    [Vue CLI 3] 配置解析之 indexPath
    [Vue CLI 3] 配置解析之 css.extract
  • 原文地址:https://www.cnblogs.com/yz-lucky77/p/13765180.html
Copyright © 2011-2022 走看看