AutoAction简介
该github工程主要是为了解决疫情期间华工需要不断地申报自身健康而建立,工程中使用GitHub Action来实现每天自动打卡工作。
准备工作
1.一个github账号
2.一个163邮箱账号:用于发送签到成功邮件,推荐添加,为了方便验证是否签到成功(可选)
上手教程
由于github上无法查看图片,建议移步到csdn查看上手教程:csdn
1.把代码clone到本地或者直接点击fork按钮将工程复制到你的仓库
2.邮件SMTP配置,本文以配置163邮箱为例。点击开启按钮,开启smtp。然后点击新增授权码,按步骤最后会得到一串字符(授权码),将字符串复制,并把它放到第三步里面的MAIL_PASSWORD变量
3.配置你的账号和密码。在工程的secrets里面放置你的账号和密码。同样的,如果你不需要发送邮件通知可以不添加邮件配置。(SCUT_PASSWORD和SCUT_USER两个变量名需要跟signinaction.yml代码里面的一致)
![在这里插入图片描述](https://camo.githubusercontent.com/c5cb5707a39f55842097e7cb1a30e71d15f93fa5acd9fc8f2d039802569cc424/68747470733a2f2f696d672d626c6f672e6373646e696d672e636e2f32303230303631383137333132313336312e706e673f782d6f73732d70726f636573733d696d6167652f77617465726d61726b2c747970655f5a6d46755a33706f5a57356e6147567064476b2c736861646f775f31302c746578745f6148523063484d364c7939696247396e4c6d4e7a5a473475626d56304c33427662476c6a5a5638782c73697a655f31362c636f6c6f725f4646464646462c745f3730)
4.点击打开autoclick.py文件,并删除或者注释掉下面红框代码。
5.打开Action查看工作流
6.新建工作流main.yml文件,将原本.github/workflows/signinaction.yml文件代码复制到main.yml,复制过程中删除或者注释红框的代码(如果不想收到邮件通知,可以把下面的邮件发送代码删掉。如果不删,记得把里面的邮箱换成自己的邮箱账号。)复制完成之后,请把.github/workflows/signinaction.yml删掉,不然每天它都会运行一次。
7.yml文件中设置了每天北京5:00、每次代码提交、仓库被star都会触发工作流
on:
watch:
types: started
push:
schedule:
- cron: '0 21 * * *'
8.上面代码提交之后,会自动运行。同时你也可以点击star运行action
9.运行情况
10.若出现问题可以点击查看log信息![在这里插入图片描述](https://camo.githubusercontent.com/6a2122d2292f87517634809a807336f445d08d0cac011326542a1952f27c567e/68747470733a2f2f696d672d626c6f672e6373646e696d672e636e2f32303230303631383138333735313833352e706e673f782d6f73732d70726f636573733d696d6167652f77617465726d61726b2c747970655f5a6d46755a33706f5a57356e6147567064476b2c736861646f775f31302c746578745f6148523063484d364c7939696247396e4c6d4e7a5a473475626d56304c33427662476c6a5a5638782c73697a655f31362c636f6c6f725f4646464646462c745f3730)
11.如果出现上图所示的selenium.common.exceptions.StaleElementReferenceException: Message: stale element reference: element is not attached to the page document错误:可以尝试将autoclick.py第30行里面的
time.sleep(10)改为 time.sleep(30)延长等待时间
12.运行结束后,会有邮件发送
13.之后要是不需要每天填报了,那进入setting-》action-》选择Disable Actions for this repository。该仓库的工作流将不再运行。
参考链接:GitHub Actions 入门教程
GitHub Actions 教程:定时发送天气邮件
Python实现自动签到脚本
手动触发 GitHub Actions 的几种方式
GitHub Actions 中 python 脚本获取仓库 secrets
Selenium2+python自动化46-js解决click失效问题
GitHub action fork之后无法触发action
|