用 PAD 创造无限可能

2022-12-02 11:25:01 浏览数 (1)

#首届 Microsoft Power Automate 黑客松##Power Automate 线上训练营##Power Automate#

PAD 简介

相信大家在日常工作、生活和学习中都会碰到很多需要进行重复操作的场景。比如说,每天想在特定的时间打开股票软件查看一下今天的行情;实时获取当前人民币与美元的汇率;每月定期对 Excel 中的财务数据进行汇总等等。听到这些场景,大多数人第一反应可能是:啊,这不是程序员的工作吗,我也不认识程序员或者也没有程序员愿意帮我做这些小事。但是随着微软在 Windows 平台上推出 Power Automate Desktop(PAD),这些场景都可以通过简单的拖拽、录制等方式编写低代码程序完成。

由于微软将 PAD 内置于 Windows 11,我们得以免费使用该应用。Windows 11 的用户可以直接通过搜索的方式获取,Windows 10 的用户也可以通过 Microsoft Store 获取。PAD 主要有以下特点:

无代码视觉设计器 网页和桌面录制器 操作指令丰富 错误异常处理功能 无人值守功能(收费) 云端关联(收费) AI 以及 OCR(收费) https://www.bilibili.com/video/BV1eV4y1g7NH/?spm_id_from=333.999.0.0&vd_source=04ca62d3a5e01489530f3850a54ef002

通过上面的强大功能,我们可以几乎以无代码的方式完成所需要的操作。绝大多数的需求都可以只使用免费的功能来完成。如果想获取更多 PAD 的相关知识,可以通过点击文末的阅读原文观看微软 Reactor_SH 的 B 站视频进一步了解。

PAD 实战

那么我们如何通过 PAD 来完成需求呢?比如有这样一个场景,你需要每天给你的女朋友发送提醒消息,包括第二天的气温,提醒她穿衣别感冒,再加上每日一句英语学习。这个操作重复度非常高,就特别适合使用 PAD 来完成。

  1. 首先打开新建一个流,输入这个流的名称,这里就简单地使用【微信公众号示例】。
  1. 点击下方的确认按钮就可以进入到流的编辑页面。我们需要打开一个浏览器以便进行后续的操作。点击左边操作中的【浏览器自动化】,在下拉菜单中选择启动一个自己电脑上已经安装好的浏览器项目,并将它拖动到中间。
  1. 我们需要打开一个叫【天气网】的网页,通过这个网页我们可以获取到第二天的气温以及穿衣指数等信息。如下图所示,启动模式默认为【启动新实例】,这个就表示 PAD 会自动帮我们打开一个新的浏览器窗口。接着在初始 URL 中填入我们想要访问的网址(http://www.weather.com.com/),窗口状态可以选择【最大化】方便我们后续进行录制操作的步骤。
  1. 点击保存之后,我们就可以在【Main】界面获得一个步骤。可以直接点击【运行】的按钮尝试一下效果,PAD 会帮助我们打开一个浏览器窗口。
  1. 接下来,我们想获取广州的天气信息。这时候可以用到 PAD 强大的【录制】功能。只要会操作电脑,就能将这些操作录制并通过 PAD 来自动执行。这里通过一段 GIF 来展示如何进行录制操作。‍ ‍
  1. 录制完成之后,也可以点击【运行】按钮查看当前流程的效果。然后我们在新打开的页面上获取当天的气温。参考步骤 3,但是这里我们已经打开了一个浏览器,所以启动模式我们选择【附加到正在运行的示例】,第二个选项选择【按标题】,找到我们需要的标题填入第三项即可。
  1. 通过查看已经打开的浏览器,我们可以找到气温,那如何获取到当天的气温呢?我们还是可以使用【浏览器自动化】操作来进行。

打开【浏览器自动化】,在下拉菜单中选择【获取网页上的元素的详细信息】,注意我们这里需要在广州的天气中获取气温,所以【Web 浏览器示例】我们选择【%Browser2%】对应步骤 6 中的浏览器实例。点击【添加 UI 元素】,PAD 会自动跳转到浏览器页面。

找到我们需要的气温的数据,按照图中所示进行操作。如果不放心是否抓取到我们需要的数据。可以打开操作步骤,鼠标悬停在【UI 元素】右边的【堆叠图标】上查看当前的 UI 示意图。为了后面区分获取的元素,我们可以将生成的变量名改为 Temperature。

  1. 重复步骤 7,获取穿衣指数,感冒指数和紫外线指数等。接着我们可以使用金山词霸的接口获取每日一句英语,督促另一半好好学习。打开浏览器,输入金山词霸的接口链接并转到该链接。我们可以看到以下的数据。

返回的是 JSON 格式。我们需要的是里面的英语每日一句,即 "content" 里面的内容。首先得让 PAD 帮我们打开这个网页的请求。在操作中选择【HTTP】,打开下拉菜单,选择【调用 Web 服务】。将金山词霸的的网址(http://open.iciba.com/dsapi/)填入 【URL】,将【接受】和【内容类型】都改为【application/json】来接受一个 JSON 格式的返回。

由于获取的是 JSON 格式,我们无法获取到里面的 "content" 内容,可以在这里加上一步将 JSON 转化为对象。在操作下的搜索框中输入【JSON】就能找到这个操作。我们可以使用这个对象的名字加上 "[]" 操作符的方式获取对象的内容。

最后我们可以使用同样的方式调用 WxPusher微信消息推送服务 (zjiecode.com) 来向心上人发送每日温馨提醒。具体的操作方式可以查看 WxPusher 的文档。

  1. 最后几步如下图所示。

这样我们就完成了一个简单的 PAD 的应用。点击【运行】按钮,获得如下图的效果。

PAD 黑客松

在看了上面的实战之后,你是不是也对自己实现一个 PAD 的流跃跃欲试了。本周日,由微软 Reactor 举办的首届 Microsoft Power Automate 黑客松将于线上和线下同步举行。点击下方链接获取详情,也欢迎关注 MSReator 获取更多资讯。

首届 Microsoft Power Automate 黑客松

通过这次大赛以及 B 站视频的学习,相信你一定能在工作中减少不必要的重复操作,让自动化融入日常生活,获得更加高效的生活,享受 Work Life Balance。

在上文中,还有 Power Automate(PA,云端流)没有介绍,主要是考虑到云端流中有非常多的付费功能,需要酌情考虑是否使用。另外在观看 B 站视频的过程中,也发现有两个不足的地方。第一是 PAD 对某些页面元素的支持可能有问题,下拉元素的选取可能难以实现;第二是用 PAD 来完成 LeetCode 题目可能比较困难。不过我认为, PAD 是一种不重复劳动的精神。通过学习 PAD 可以打开通往编程的大门,只要自己勤于思考,就能用 PAD 创造无限可能。

0 人点赞