v1版本是使用代码来操作浏览器,写过几个自动化任务之后,发现流程极其相似,将浏览器操作颗粒化之后,能否使用工作流来实现?Automa便是最佳的选择,但局限于它是一个浏览器插件,无法在浏览器headless模式导入编写好的工作流,遂做了一个golang版本的工作流解析器,将Automa工作流导入到该项目中便可自动执行,以期平替其在本地化的操作,这便是v2版本。目前只实现了一部分操作,正在逐渐开发完善中。
- conditions:条件判断
- event-click:点击
- get-text:获取文本
- insert-data:插入变量
- loop-data:循环获取数据
- new-tab:打开网页
- webhook:调用接口
- tab-url:获取当前页面url
- element-scroll:滚动页面到屏幕最下面
- delay:流程sleep
- loop-elements:循环遍历页面元素
涉及到登录问题,通常使用cookie来解决,推荐使用插件cookie-editor来获取,导出为json。
-
程序底层依赖chrome浏览器,需要有该环境
-
go 1.18
-
docker
- 1.克隆仓库
git clone https://github.com/srcrs/MagicBox.git
-
2.在configs目录下导入对应任务的配置文件
-
3.安装docker环境
docker环境安装参考官方教程,一键把docker和docker-compose环境都安装好
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
- 3.执行部署
示例docker版本信息
$ docker --version
Docker version 24.0.4
$ docker compose version
Docker Compose version v2.19.1
部署
docker compose up -d
官方站点:https://v2ex.com/
./configs/v2ex_sign.json
需要补充cookie,以及通知。
官方站点:https://top.baidu.com/board?tab=realtime
./configs/post_notify.json
官方站点:https://www.jd.com/
./configs/jd_sign.json