好用的浏览器自动化扩展-automa

转载请注明出处: https://www.cnblogs.com/funnyzpc/p/18932812

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 模块中则是:

  // 获取定义的变量
let _first_key = automaRefData('variables', '_first_key') ;

组件引用的参数 中的 variables@ 前缀是固定的,javascript 中获取也是固定的:variables !

Ⅵ 插件常见问题

一是 浏览器对插件的兼容问题

尤其是对于chrome浏览器,如果您碰到了,尤其是安装不了时,建议使用 edge ,这货

似乎对chrome插件兼容性更更好一些,比如你用低版本的 automa 的插件,edge 似乎都能安装及使用!

二是 出现的兼容问题可能是权限

此类问题 建议在插件配置时将所有权限全部勾上

最后

以上仅对 Automa 插件使用的浅见,只是对目前碰到的问题做一些排障,如有好的建议及使用技巧请留言~

好用的浏览器自动化扩展-automa的更多相关文章

  1. splinter python浏览器自动化操作,模拟浏览器的行为

    Splinter可以非常棒的模拟浏览器的行为,Splinter提供了丰富的API,可以获取页面的信息判断当前的行为所产生的结果   最近在研究网站自动登录的问题,涉及到需要实现浏览器自动化操作,网上有 ...

  2. Python实现浏览器自动化操作

    Python实现浏览器自动化操作 (2012-08-02 17:35:43) 转载▼     最近在研究网站自动登录的问题,涉及到需要实现浏览器自动化操作,网上有不少介绍,例如使用pamie,但是只是 ...

  3. [转载]Python实现浏览器自动化操作

    原文地址:Python实现浏览器自动化操作作者:rayment   最近在研究网站自动登录的问题,涉及到需要实现浏览器自动化操作,网上有不少介绍,例如使用pamie,但是只是支持IE,而且项目也较久没 ...

  4. FireFox 浏览器插件/扩展开发学习

    2014-11-08 内容存档在evernote,笔记名"FireFox 浏览器插件/扩展开发学习"

  5. Python—selenium模块(浏览器自动化工具)

    selenium可以用来完成浏览器自动化相关的操作,写一些代码制定一些基于浏览器自动化的相关操作(行为动作),当代码执行后,浏览器就会自动触发相关的事件 安装方法: pip install selen ...

  6. 浏览器自动化的一些体会9 访问angular页面的一个问题

    发现浏览器自动化有一个重要方面没有提及,即所谓的无页面浏览器,不过最近没有需求,不想尝试,先记上一笔,以后有需求时,可以有个思路. 大约一两个月前(现在比较懒散,时间不知不觉过去,连今天是几号有时候都 ...

  7. 浏览器自动化的一些体会2 webBrowser控件之ajax

    上个帖子简要讨论了浏览器自动化的几种方法.现在讨论webBrowser控件使用中的一些问题.基本的操作就不详细说了,随便网上找个帖子或找本书都有介绍的.这里只写点网上似乎少有人总结过的内容,以及自己的 ...

  8. 浏览器自动化工具-Selenium

    Table of Contents 1. 什么是Selenium 2. 简单的例子 3. PS 什么是Selenium Selenium可以自动化操作浏览器,利用Selenium可以模拟用户操作,因此 ...

  9. 使用Selenium进行浏览器自动化操作记录

    一位经验丰富的同事交给了我一个任务:将20个IP地址添加到公司系统对应的目录下. 这个任务之前做过,并且数量是远不止20个,当时就学习Selenium并且使用Python3.6写了一个脚本用来自动化地 ...

  10. Java+selenium+Firefox/ IE/ Chrome主流浏览器自动化环境搭建

    一.java+selenium+firefox 1.环境准备:JDK1.8 2.安装firefox浏览器v59 3.下载驱动:https://github.com/mozilla/geckodrive ...

随机推荐

  1. Jmeter压测数据库总结

    1.添加MySQL驱动 在测试计划里面添加,操作如下: MySQL驱动自行下载 2.添加线程组 选中测试计划,右键添加->线程(用户)->线程组,页面如下: 3.添加JDBC连接配置 选中 ...

  2. 康谋方案 | BEV感知技术:多相机数据采集与高精度时间同步方案

    随着自动驾驶技术的快速发展,车辆准确感知周围环境的能力变得至关重要.BEV(Bird's-Eye-View,鸟瞰图)感知技术,以其独特的视角和强大的数据处理能力,正成为自动驾驶领域的一大研究热点. 一 ...

  3. 一个开源的 Blazor 跨平台入门级实战项目

    前言 今天大姚给大家分享一个开源(MIT license).免费的 Blazor 跨平台入门级实战项目:YourWeather. 项目介绍 YourWeather是一个开源(MIT license). ...

  4. 从源码看 QT 的事件系统及自定义事件

    事件是程序内部或外部触发的动作或状态变化的信号.在 Qt 中,所有事件都是 QEvent 派生类的对象,事件由 QObject 派生类的对象接收和处理.每一个事件都有对应的 QEvent 派生类,当事 ...

  5. DDD之EFCore实现值对象

    参照: DDD之EFCore实现值对象 - peng_boke - 博客园 (cnblogs.com)

  6. IDEA问题之“MyBatis插件安装【MyBatisX】”

    一.场景 在SSM框架中带有XML文件的查找很是麻烦,特别是在ID命名有大量重复时 而这个插件就可以,让你直接从Service实现类中直接跳到XML中 还有些其他功能,可以探索探索 一.配置步骤 1. ...

  7. Webkit 实现页面滚动条美化

    当页面或者某个容器布局内容超出过后, 就会有滚动条, 但默认的有点丑, 经常需要自己来美化一下, 这里做个笔记吧. /* 美化全局的滚动条 */ ::-webkit-scrollbar { width ...

  8. 双向 和 多重 RNN

    前面已经对 RNN (递归神经网络) 的变体 (主要为解决 梯度消失和梯度爆炸) 接触了两个比较流行的 LSTM 和 GRU, 其核心思想呢, 是通过其所谓 **"gate" ** ...

  9. MCP 实践系列:股票分析

    今天,我们介绍了一个通过 Financial Datasets 获取股票市场数据的接口.这个接口不仅支持其他 AI 助手通过 MCP 接口 直接检索关键的财务数据(如损益表.资产负债表.现金流量表), ...

  10. WebAssembly:开启新时代的跨平台

    @charset "UTF-8"; .markdown-body { line-height: 1.75; font-weight: 400; font-size: 15px; o ...