如何写微信小程序的自动化脚本?
共 3594字,需浏览 8分钟
·
2021-02-08 16:25
首先对问题补充一下,是这样的,写一个自动化脚本,自动帮助我们完成一些事情。就像微信《跳一跳》风靡后,有人开发了在机械装置下,自动完成跳一跳,攫取高分的脚本。
自动化脚本是一个什么区域的概念?
有一个专有的名称叫RPA,RPA是Robotic Process Automation的简写,译作中文是机器人流程自动化。RPA可以将自动化软件作为虚拟劳动力,依据预先设定的程序(脚本),与现有系统进行交互,并完成预期任务。
由此可见,RPA就是我们要找的内容了。
RPA机器人能够模仿大多数人类用户的行为。它们能够登录应用程序、移动文件和文件夹、复制和粘贴数据、填写表单、从文档中提取结构化和半结构化数据、抓取浏览器等。
RPA的实现原理是什么?
那么,RPA是如何实现的呢?
RPA智能机器人本身并不具有智能,并且一般都是非侵入式的。它集成人与数字系统之间的交互行为,自动取得数字系统的输出,自动对结构化或半结构化的数据进行分析和处理,自动输入数据,以此达到自动化运行的目的。
RPA最大的特点就是非侵入,合规合法。
当下有哪些RPA软件可以选用?
按键精灵
按键精灵是一款国内模拟鼠标键盘动作的软件。通过制作脚本,可以让按键精灵代替双手,自动执行一系列鼠标键盘动作。工具链接为:http://www.anjian.com/。
据说这个软件常规功能是免费的,高级功能是收费的,还有手机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图书封面签名照。
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/
还有一款容智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实现的动态效果,它可以自动打开网页,完成分析并自动关闭,并且这些操作都是拿真实代码实现的。
Wechaty
针对微信,Wechaty是一个自动聊天机器人,它严格来说,不是传统意义上的RPA工具,因为它是基于数据流协议进行信息控制的。作者前几天刚做了一个开源的小工具《一个使用小微商户+微信聊天机器人构建的私域运营助手》,可以实现自动通过好友、自动收款、并拉人入群。有兴趣可以参考一下,链接见:
https://mp.weixin.qq.com/s/TUKmK7IgJElECt7hNq5QEA
Puppeteer
Puppeteer是一个Node.js库,它提供了通过DevTools协议控制Chrome或Chromium的高级API。在Github上已经大约有恐怖的7w个Star。
这里有一个使用puppeteer加载一个页面,并截图保存图片的示例代码:
// example.js
const 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:微信全栈工程师一本通》一本全面而系统的介绍小程序开发技术的书籍