Excel 浏览器 RPA 指令说明
Excel 浏览器是一款自动化工具,可联通 Excel 表格和网络资源,可实现网页抓取、文件处理等诸多功能。为了提升自动化能力,Excel 浏览器近期升级了 RPA 指令,支持 JS 脚本、C# 脚本,使得其 RPA 任务可以执行更加复杂的任务。
注释 -- 变量 $ delay JS 脚本 C# 脚本 load remove exit output log status pause
详细指令说明
注释
两个横杆表示注释,当前行横杠后边的内容都是注释。
-- 这是一段注释
变量
以美元符号开头的文本表示变量,其初始数据来自导入的 RPA 任务表格。比如 $快递单号,表示 RPA 任务表格中的“快递单号”列,运行任务时对应行的数据。
$快递单号
延时指令
延时指令 delay,后边的数字 5 表示延时 5 秒。
delay 5
JavaScript 代码
以 document 开头的也表示当前是 JS 代码,会在当前网页直接执行。
document.querySelector("#ele").click();
以 (function().....})(); 形式出现的,表示执行一段 JS 代码,如下所示。
(function(){
let inputElement = document.querySelector("#ele");
inputElement.focus();
inputElement.click();
inputElement.value = '';
let event = new Event('input', { bubbles: true });
inputElement.dispatchEvent(event);
})();
变量赋值
运行一段 JS 脚本,将脚本获取到的值赋给变量“$搜索结果”。
$搜索结果=(function(){
var lines='';
let rows=document.querySelectorAll("#tr");
for(let i=0;i<rows.length;i++){
let txt=rows[i].querySelector("td");
if(txt){
lines=lines?lines+','+txt.innerText:txt.innerText;
}
}
return lines;
})();
C# 代码
如果代码是 (function 开头,表示是一段 JS 代码,其他则按照 C# 代码执行。如下所示,运行一段 C# 代码,判断比对结果是否为 Y,如果是则播放一段音乐文件。
$比对结果=var res = "";
if("$搜索结果".Contains("$快递单号")){
res = "Y";
string audioFilePath = @"C:\Windows\Media\notify.wav";
using (SoundPlayer player = new SoundPlayer(audioFilePath)){
player.PlaySync();
}
} else {
res = "N";
}
return res;
加载网页指令
根据给定的 URL 加载网页。为了确保网页加载完毕,建议 delay 5 秒,让网页充分加载。
load http://www.excelapi.com delay 5
移除任务
当 RPA 执行多任务时,可以根据任务执行的结果判定是否要继续执行该任务,如果不需要,可以使用 remove 指令移除当前任务。其中 remove 右侧的文字按 C# 代码执行。
remove "$比对结果" == "Y"
退出 RPA 任务
根据给定的判断条件,决定是否退出当前 RPA。
exit 1 == 2
输出指令
将变量的值输出到 output.txt 文件,output 执行三元运算符,实际上执行的是 C# 代码。
output "$比对结果" == "N" ? "$快递单号 $比对结果 $搜索结果" : ""
日志指令
将文本显示在日志文本框。
log $搜索结果
状态指令
将文本显示在任务栏。
status $搜索结果
暂停指令
根据条件判断是否要暂停。
pause "$比对结果" == "Y"
注意事项
- RPA 指令文件中,一行表示一个指令,当 JS 或 C# 代码多行的时候,需要压缩成一行。
- 代码执行前,会先替换变量的值。
- 注意双引号、单引号的使用,左右引号对称。
- 执行 JS 代码时,建议使用 delay 进行适当的延迟操作。
总结:以上指令覆盖了注释、变量、延时、JS / C# 脚本、网页加载、任务控制与结果输出等常用能力,把它们按行组合起来,就能让 Excel 浏览器的 RPA 任务胜任更复杂的自动化流程。