Skip to content

基于selenium+python使用GitHub Action工作流机制完成的自动签到工程。工程目前包含有阮一峰大佬的每日天气邮件、华工疫情申报自动打卡、司徒云签到

Notifications You must be signed in to change notification settings

Makotohonda/AutoAction

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

50 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

该github工程主要是为了解决疫情期间华工需要不断地申报自身健康而建立,工程中使用GitHub Action来实现每天自动打卡工作。

准备工作

1.一个github账号
2.一个163邮箱账号:用于发送签到成功邮件,推荐添加,为了方便验证是否签到成功(可选)

上手教程

1.把代码clone到本地或者直接点击fork按钮将工程复制到你的仓库 在这里插入图片描述 2.邮件SMTP配置,本文以配置163邮箱为例。点击开启按钮,开启smtp。然后点击新增授权码,按步骤最后会得到一串字符(授权码),将字符串复制,并把它放到第三步里面的MAIL_PASSWORD变量

在这里插入图片描述 在这里插入图片描述 3.配置你的账号和密码。在工程的secrets里面放置你的账号和密码。同样的,如果你不需要发送邮件通知可以不添加邮件配置。(SCUT_PASSWORD和SCUT_USER两个变量名需要跟signinaction.yml代码里面的一致) 在这里插入图片描述

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信息在这里插入图片描述在这里插入图片描述 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

About

基于selenium+python使用GitHub Action工作流机制完成的自动签到工程。工程目前包含有阮一峰大佬的每日天气邮件、华工疫情申报自动打卡、司徒云签到

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 91.3%
  • Shell 8.7%