# EmailSign **Repository Path**: ev_project/email-sign ## Basic Information - **Project Name**: EmailSign - **Description**: 校早签平台签到脚本 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-10-22 - **Last Updated**: 2022-04-06 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## 介绍 大学开始不久就开始了疫情,我校有防疫签到系统,每天都需要填写,所以就使用了java的Selenium脚本来自动提交了。 代码还是很生涩,独写用户名单,转成bean,然后开多个线程去执行签到逻辑,然后发送邮件通知。其实Selenium这个本来是用来做网页测试的结果被我拿过来这样用了。 **项目特性** - 随机时间区间执行,每一步都随机间隔时间 - 每天邮箱发送结果,文件保存log - 多个线程执行脚本 - 初步认识面向对象 封装 **冗余的保存log** ```java private void saveLog() { try { SimpleDateFormat format = new SimpleDateFormat("yy-MM-dd HH:mm:ss"); String date = format.format(new Date()); StringBuilder b = new StringBuilder(); StringBuilder c = new StringBuilder(); b.append("-----" + date + "----\t\r"); c.append("-----异常----\t\r"); int cLen = c.length(); for (User user : manageUser.userList) { String stateTeday = user.getStateTeday(); String stateTem = user.getStateTemperature(); if(stateTeday==null || "".equals(stateTeday) || stateTeday.contains("异常")|| stateTem==null || "".equals(stateTem) || stateTem.contains("异常")) { c.append(user.getName() != null ? user.getName() : user.getUsername()); c.append(user.getName().length() == 2 ? " " : " "); c.append(user.getStateTeday() + " ").append(user.getStateTemperature() + " ").append("\t\r"); continue; } b.append(user.getName() != null ? user.getName().length() == 2? user.getName() + "一":user.getName() : user.getUsername()); b.append(user.getName().length() == 2 ? " " : " "); b.append(user.getStateTeday() + " ").append(user.getStateTemperature() + " ").append("\t\r"); } email.senWxEmail(b.toString()+c.toString(),c.length()<=cLen?"签到成功":"签到存在异常"); } catch (Exception e) { e.printStackTrace(); } } ``` **启动脚本** ```java public static void main(String[] args) throws InterruptedException{ RunEmailSign run = new RunEmailSign(); System.out.println("疫情签到脚本 版本2.0"); run.setRunTime(); run.timerStart(); } ```` **读取名单** ```java /** * 读取文本 初始化用户列表 * @version 创建时间:2020年9月9日 下午4:57:22 * @description */ public void initUserList() { try { userList.clear(); List list = FileUtils.readLines(new File("user.txt"), "UTF-8"); for (String t : list) { if (t.length() <= 5) return; String[] u = t.split(" "); userList.add(new User(u[0], u[1])); } System.out.println("用户个数:" + userList.size()); } catch (IOException e) { System.out.println("用户列表读取错误"); } } ```