如何写微信小程序的自动化脚本?

共 3594字,需浏览 8分钟

 ·

2021-02-08 16:25

首先对问题补充一下,是这样的,写一个自动化脚本,自动帮助我们完成一些事情。就像微信《跳一跳》风靡后,有人开发了在机械装置下,自动完成跳一跳,攫取高分的脚本。

自动化脚本是一个什么区域的概念?

有一个专有的名称叫RPA,RPA是Robotic Process Automation的简写,译作中文是机器人流程自动化。RPA可以将自动化软件作为虚拟劳动力,依据预先设定的程序(脚本),与现有系统进行交互,并完成预期任务。

由此可见,RPA就是我们要找的内容了。

RPA机器人能够模仿大多数人类用户的行为。它们能够登录应用程序、移动文件和文件夹、复制和粘贴数据、填写表单、从文档中提取结构化和半结构化数据、抓取浏览器等。

c428cb76b2c8142fa7818b394822bf15.webp

RPA的实现原理是什么?

那么,RPA是如何实现的呢?

RPA智能机器人本身并不具有智能,并且一般都是非侵入式的。它集成人与数字系统之间的交互行为,自动取得数字系统的输出,自动对结构化或半结构化的数据进行分析和处理,自动输入数据,以此达到自动化运行的目的。

RPA最大的特点就是非侵入,合规合法。

当下有哪些RPA软件可以选用?

按键精灵

按键精灵是一款国内模拟鼠标键盘动作的软件。通过制作脚本,可以让按键精灵代替双手,自动执行一系列鼠标键盘动作。工具链接为:http://www.anjian.com/。

caf28a5f52a88271ad00b1efcf3d0d8f.webp


据说这个软件常规功能是免费的,高级功能是收费的,还有手机App版本。这个网站上有“脚本”的概念,这个脚本应该是和问题中脚本是一个意思了。一般来讲,脚本在编程中的意思指的是解析型代码。

按键精灵网站上有一个脚本学院,可见这个软件脚本的编写,是有一定门槛的,是需要花一些时间学习和研究的。近半年来低代码概念非常热门,可以将RPA工具的伪代码与低代码在一定程度上等同视之。

Easy Macro Recorder

Easy Macro Recorder 是一个国外类似按键精灵的鼠标键盘自动操作软件,它实现了让键盘与鼠标自动点击与自动输入,可以自动执行电脑上重复而繁琐的任务。工具链接是:https://www.macrorecorder.com/。

UiPath

在实施RPA部署之前,需要先有一个PoC的过程。PoC是Proof of Concept的简写,译为中文是概念验证。一个操作能不能由自动化机器人取代,要从概念上首先验证通过。RPA并不是智能机器人,它是没有智力的,它本质上只是一个自动化工具。如果从概念上无法验证可以实现自动化,那么在工具上也无法部署。

在这里就避开不了UiPath了。

UiPath是一家开发机器人流程自动化平台的全球软件公司,同时UiPath也是这家公司的RPA产品。就是前不久2月2日,Uipath宣布F轮融资 7.5亿美元。据报道该公司已经秘密提交了IPO文件,计划最早在2021年上半年上市。

如下所示,这是使用UiPath编写的一个简单示例的运行效果图。在Windws系统上,监听系统时间,并通知员工该休息了。该示例来自《RPA智能机器人》,这本书是作者的微信好友朱龙春大哥编写的,有一段时间他的朋友圈天天发RPA图书封面签名照。

2e0d91590c0b9d6aa481ef02e9dfe20d.webp


UiPath有免费的社区版本可以尝试,在线申请之后就可以下载。申请链接为:

https://www.uipath.com.cn/community-edition-download/

注意,它目前只支持Windows系统,使用它,要先确认有一个Windows电脑。UiPath可以说是RPA机器人领域最优秀的工具之一了,研究企业自动化,离不开UiPath。

UiBot

这又是一款RPA工具,它支持一键录制流程并自动生成机器人,支持可视化编程与专业模式,支持浏览器、桌面、SAP等多种控件抓取,支持C、Lua、Python、.Net 扩展插件及第三方SDK接入。

链接是:https://www.uibot.com.cn/product

TheEye

Theeye是支持手机端的,是一个功能强大且简单的自动化平台。对于企业来说,它是一个RPA平台。它可以将我们所有的脚本,应用程序,服务和工作自动化流连接在一起。

链接是:https://theeye.io/

2d3c0a8863f2e2ea20f144295df046e2.webp


还有一款容智RPA产品(https://www.infodator.com),号称支持手机操作,可惜它没有免费的社区版本,只有企业解决方案,申请试用要官方人工审核。

有没有控制更精细的可以真正编程的RPA类库?

除了按键精灵那样的傻瓜式的软件,有没有可以精细化地控制的,可以真正用代码编程的RPA类库?即使有这个小标题,答案肯定是有的。

Python:SeleniumBase

SeleniumBase是一个用于web自动化、实现端到端测试等功能的Python框架,它使用指令“pytest”运行测试。在浏览器上经由WebDriver协助控制,具有找到页面元素取得文本,找到输入框输入文本等能力,藉此可以测试Web网站。

这个框架不再使用伪代码,可以使用真正的编程语言Python编写。将它给测试工程师使用叫测试,给自运营人员使用,就是一个自动刷赞、评论的工具了。

链接是:https://github.com/seleniumbase/SeleniumBase

JavaScript:Apify-JSSDK

浏览器页面的脚本是js,解析网页最合适的语言是js。Apify JSSDK正是一个JavaScript / Node.js类库,它可以扩展,可以用于Web抓取和分析,它还可以实现Web自动化作业。

链接是:https://github.com/apify/apify-js

以下示例是使用Apify实现的动态效果,它可以自动打开网页,完成分析并自动关闭,并且这些操作都是拿真实代码实现的。

2d94b6a0979a058d2b29b95cbf58a787.webp


Wechaty

针对微信,Wechaty是一个自动聊天机器人,它严格来说,不是传统意义上的RPA工具,因为它是基于数据流协议进行信息控制的。作者前几天刚做了一个开源的小工具《一个使用小微商户+微信聊天机器人构建的私域运营助手》,可以实现自动通过好友、自动收款、并拉人入群。有兴趣可以参考一下,链接见:

https://mp.weixin.qq.com/s/TUKmK7IgJElECt7hNq5QEA

Puppeteer

Puppeteer是一个Node.js库,它提供了通过DevTools协议控制Chrome或Chromium的高级API。在Github上已经大约有恐怖的7w个Star。

这里有一个使用puppeteer加载一个页面,并截图保存图片的示例代码:

// example.jsconst puppeteer = require('puppeteer');
(async () => { const browser = await puppeteer.launch(); const page = await browser.newPage(); await page.goto('https://example.com'); await page.screenshot({path: 'example.png'});
await browser.close();})();

这样启动它:

node example.js

链接是:https://github.com/puppeteer/puppeteer

总结

好了,最后总结一下,由于RPA是在PC时代发展起来的,所以目前在移动端的支持也不是很完善。但着时间的推移和需求的暴涨,支持移动端是势在必然的。

目前直接在手机端写关于微信小程序的脚本还是有一点困难的。虽然Wechaty是专门操作微信的,但它还没有直接操作小程序的API。目前微信小程序已经可以在PC端微信中打开了,可以基于PC端的RPA工具间接实现控制。

对于程序员来讲,RPA开发最好是使用真实代码的类库,优先推荐Python的SeleniumBase和JS的Apipy-SDK。对于非程序员来讲,如果选择UiPath。UiPath虽然是一款国外软件,但它的网站也支持中文,并且它还有App端数据巡视软件。对于刚拿完7.5亿美元融资的UiPath来讲,相信它不久就会支持手机端。

RPA已经成为云计算时代在科技兴农、办公自动化等领域非常重要的子趋势。人工智能还没有进化到可以将人代替,但在很多重复劳作的岗位上,RPA正在替代普通打工人。这里有一个专门介绍RPA产品、资讯的网站,必须提一下,它是:

https://www.51rpa.net/

如果推荐书籍,朱龙春的《RPA智能机器人》就值得一观。

我讲明白没有,欢迎留言讨论。

2021年02月07日



小程序从0到1:微信全栈工程师一本通一本全面而系统的介绍小程序开发技术的书籍


ee65940b7c8f615a53861ff06bd0ee98.webp

浏览 213
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报