好用的浏览器自动化扩展-automa
automa
是一款基于浏览器的任务流编排工具,就是处理一些浏览器网页相关的自动化任务
当然也是轻量级的,浏览器扩展所能处理的毕竟有限,如果有比较重量级任务建议使用类似 RPA
或者 DolphinScheduler
这一类的调度/任务编排工具,我说的比较笼统 他们都有各自的侧重点儿~
本次呢,仅就我最近接到的一活儿说起:
我最近接到的一个任务是将后台(管理端)查询出来的音频文件(wav
) 查询出来后并下载,同时要支持翻页,最好是能支持并发下载。
一开始我们经过调试想直接拿到页面session
(登录信息)后直接调用查询分页接口获取数据 => 再解析数据中的文件链接直接用程序下载,想必这样便捷高效,但是呢,问题就出现了~
一是由于内容涉及到隐私,所以后台查询出来的数据都是 RSA
加密的的 json
字符串,字符串需要经过前端 加载的 RSA
私钥解密后才可给到页面渲染,同时解密方法似乎也经过个性化处理 这...很麻烦;还有就是音频文件地址似乎也是经过了些许处理并经过用户点击过出现弹框播放时才会有音频播放(才有地址),还有一个现实情况是时间紧迫 需要一天左右的时间给出解决方案~
任务一开始,同事有研究过用纯程序去做,但是迫于现实原因 纯程序调接口的方式直接pass掉了😪
那么落到我手里了,一开始本想到的是 RPA
😁,东西花了半拉天写好了(主要是好久没用过RPA
了电脑也没预装) ,最终只作为备选方案搁置一边了 哈哈哈
第二天我换了种方式,就是automa
(用程序去点击去下载);那么,我就粗糙的讲一下这东西怎么用哈~ 🥰
Ⅰ 如何使用
-
01.先从
chrome应用商店
(需要梯子)或者第三方插件网站(不需要梯子)下载并安装automa
插件 ,以及安装这里略去哈😅 -
02.安装后第一件事儿就是先将
automa
插件的语言改为中文
("文盲"必备哈)( •̀ ω •́ )✧ -
03.然后必然是新建一个工作流程(工程);一定要注意,这个工程一定要含有这必要的三要素,分别是:
触发器
、新建活动页
或新建标签页
(二选一)、工作流状态
-
04.然后所有具体的逻辑节点均在
触发器
及工作流状态
之间,这里给一个例子注意:编排好的工作流一定要用 连接线 连起来,如果没有触发器是无法用执行的!
-
05.工作流执行
编辑节点可点右上角
调试模式
执行 或执行
即可~如果开发完毕需要执行,可按图所示
执行
即可执行完毕
automa
会给出成功
或失败
的通知,这是我执行失败后的日志,浏览器通知 点进去:
Ⅱ 关于官方文档
为什么这个要单独拎出来说呢,因为这很重要!!!
我就因为一个问题始终找不到答案(网上能给到的直接资料也很少)而耽误了不少时间,希望后来者不要因此踏坑~ 😌
我们通常能找到的文档一般是这个网站:https://automa.wiki/workflow/variables,
这里需要说的是:这个中文网站写的十分笼统,而且也不是最新的,我就踩过坑。。。。
所以我强烈建议使用官方文档https://docs.extension.automa.site/guide/quick-start.html#recording-actions
,建议将这个官方文档的网站放入收藏夹~
Ⅲ 如何调试独立模块
如果独立模块独立执行 一般无需连接到整个流程中,如果调试单个模块只需要点击模块上的 "运行
" 按钮即可
Ⅳ 如何定义 automa
运行时变量以及获取变量
针对于预设全局参数我就不说了,官方文档有实例,这里我先告诉你如何在 "JavaScript 代码
" 模块中如何设置一个及获取一个变量
如图,定义的 _first_key
这个变量是能够在其他模块中获取到 且 可以修改的!
这个也很重要,这种变量在大多数工作流中都会用到!!!🤓
Ⅴ 组件配置参数引用
这个也是常用的,尤其是在循环
及组件配置
中,这也很重要,automa变量
可以上图这种方式被引用,如果是在 JavaScript 模块
中则是:
javascript
// 获取定义的变量
let _first_key = automaRefData('variables', '_first_key') ;
组件引用的参数 中的 variables@
前缀是固定的,javascript
中获取也是固定的:variables
!
Ⅵ 插件常见问题
一是 浏览器对插件的兼容问题
尤其是对于chrome浏览器
,如果您碰到了,尤其是安装不了时,建议使用 edge
,这货
似乎对chrome插件
兼容性更更好一些,比如你用低版本的 automa
的插件,edge
似乎都能安装及使用!
二是 出现的兼容问题可能是权限
此类问题 建议在插件配置时将所有权限全部勾上
最后
以上仅对 Automa 插件使用的浅见,只是对目前碰到的问题做一些排障,如有好的建议及使用技巧请留言~❤