Вступление
Роботизированная автоматизация процессов (RPA) — это область, в которой обыденные и повторяющиеся процессы разделяются на множество задач, связанных с машиной, и автоматически выполняются продуктами RPA. Мы предлагаем другую альтернативу, использование специального языка сценариев. Robin — это предметно-ориентированный язык для RPA, который предлагает простоту и богатство возможностей. Опыт работы с языком программирования не требуется.
Это создает новые возможности и способствует динамичной тенденции в программировании автоматизации: разработчики RPA. Робин предоставляет множество вариантов автоматизации, используя несколько модулей / действий, типов данных, операторов, функций, условий, циклов, обработки исключений, потока управления и соответствующего синтаксиса. Заинтересованный читатель может ознакомиться с нашей официальной документацией здесь. ,
Мы будем использовать Робина для извлечения веб-данных, популярного варианта использования среди сообщества RPA. Мы также покажем, как использовать Robin для создания собственных сценариев автоматизации с помощью консольного приложения C #.
Вам также может понравиться:
Как RPA меняет способ работы людей
Извлечение веб-данных
Распространенным сценарием среди разработчиков RPA является извлечение веб-данных. Мы посетим веб-сайт, который публикует акции с различных фондовых рынков, извлекает некоторые данные и хранит их локально.
Робин имеет простой синтаксис. Следуя приведенным ниже рекомендациям, мы можем сделать наши сценарии понятными, динамичными и поддерживаемыми. Робин также предоставляет инструмент для пользовательского интерфейса и веб-автоматизации, UISpy, который позволяет создавать селекторы для веб-управления и / или управления рабочим столом.
Распространенным сценарием среди разработчиков RPA является извлечение веб-данных. Мы посетим веб-сайт, который публикует акции с различных фондовых рынков, извлекает некоторые данные и хранит их локально.
Робин имеет простой синтаксис. Следуя приведенным ниже рекомендациям, мы можем сделать наши сценарии понятными, динамичными и поддерживаемыми. Робин также предоставляет инструмент для пользовательского интерфейса и веб-автоматизации,
UISpy, который позволяет создавать селекторы для веб-управления и / или управления рабочим столом.
Давайте сделаем несколько шагов:
- Посетите следующий веб-сайт
- Запустите UISpy
- В UISpy нажмите « Добавить контроль »
- Наведите указатель мыши на элемент таблицы Соединенных Штатов.
- Удерживайте « Ctrl + Shift » и прокрутите вниз, пока элемент таблицы не будет выделен
Обратите внимание, что версия Robin, используемая для конкретного примера, —
0.9.2.5567 .
В зависимости от установленной версии Robin,
скрипту могут потребоваться некоторые изменения, чтобы он функционировал должным образом.
6. Удерживайте Ctrl и щелкните левой кнопкой мыши, чтобы захватить таблицу HTML.
7. Нажмите « Готово ».
Обратите внимание, что мы переименовали .appmask (файл, в котором хранятся сгенерированные селекторы), имя приложения, имя окна и селектор для ясности.
8. Сохраните файл.
Sidenote Нажмите «Редактировать селекторы».
Модификация селекторов возможна через конструктор селекторов. В большинстве случаев достаточно выбора по умолчанию. Наилучший подход — сначала поэкспериментировать с автоматически сгенерированным селектором, а затем соответствующим образом изменить его.
Чтобы пошагово следовать руководству, оставьте селектор таким, каким он был создан.
9. Откройте редактор Робина.
Файлы .appmask должны быть импортированы вверху скрипта.
Селекторы теперь доступны. Синтаксис для ссылки на селектор:
[.appmask file]. [application]. [screen / window]. [control]
10. Селекторы должны храниться в переменных для удобства.
11. Сохраните URL сайта.
Функциональность в Робине приходит в виде модулей и действий . Модули — это группы, выделенные для определенной категории (например, Excel). В модулях вложены наборы действий . Эти действия могут быть сгруппированы в категории / подкатегории и т. Д. При написании Excel.Launch мы используем действие запуска Excel .
12. Использовать WebAutomation.LaunchChrome действия и передать переменный веб — сайт.
Примечание
Форматирование кода генерируемых входов действий:
- Отдельные вводы, оставляя по одному на строку, используя специальный символ ‘\’, который обозначает изменение строки
- Выровняйте их
- Удалить автоматически сгенерированные входы, если они не изменены
Действие должно выглядеть следующим образом :
13. Теперь мы можем использовать WebAutomation.DataExtraction.ExtractHtmlTableInExcel действия
для извлечения и записи данных в экземпляре Excel.
14. Мы храним экземпляр Excel и закрываем веб-браузер.
15. Нажмите « Выполнить. »
После завершения исполнения, .xlsx файл доступен в заявленном папке. Открывая файл, мы видим его ячейки, заполненные извлеченными значениями.
Вот как выглядит весь скрипт:
Использование скриптов Робина с использованием C #
После компиляции приложения C # (например, консольного приложения) создается файл .exe или .dll. Затем мы можем распространить эти файлы .exe всем, кому захотим (например, коллегам в нашей компании). Это позволяет стандартизировать выполнение сценариев. Очень простое консольное приложение C # (ядро .net) показано ниже.
Мы запускаем CMD и передаем команды Робина в качестве аргументов. Было создано три метода, один из которых предназначен для команды help, а другой — для команд Check и Run :
Третий метод извлекает все файлы .robin из указанной папки. Таким образом, вам не нужно каждый раз жестко кодировать свои скрипты.
Эти методы затем вызываются основным методом программы:
Четыре строковые переменные были созданы. Три из них содержат команды, а другая — путь к папке, содержащей сценарии автоматизации.
.Exe также был создан. Он находится в нашей папке Debug или Release в зависимости от состояния, в котором вы отметили наш проект. C # — наш предпочтительный язык, но, поскольку мы используем CLI, можно использовать и другие языки.
Полный источник:
Джава
xxxxxxxxxx
1
using System;
2
using System.Collections.Generic;
3
using System.Diagnostics;
4
using System.IO;
5
6
namespace RobinScriptUtilization
7
{
8
class Program
9
{
10
static void Main(string[] args)
11
{
12
// Robin has three console commands:
13
// help
14
string robinHelp = "Robin -h";
15
// check script
16
string robinCheck = "Robin check";
17
// run script
18
string robinRun = "Robin run";
19
20
// call the help command
21
ExecuteHelpCommand(robinHelp);
22
23
// set the path to the folder/repo containing the script(s)
24
string ScriptFolderPath = "C:\Users\RobinScripts\";
25
26
List<string> Scripts = GetRobinScripts(ScriptFolderPath);
27
28
29
foreach (string robinScript in Scripts)
30
{
31
// execute the Check command
32
//ExecuteCommand(robinCheck, robinScript);
33
34
// execute the Run command
35
ExecuteCommand(robinRun, robinScript);
36
}
37
}
38
39
// Method that retrieves all the .robin files from a specified directory
40
public static List<string> GetRobinScripts(string folderPath)
41
{
42
DirectoryInfo directory = new DirectoryInfo(folderPath);
43
FileInfo[] Files = directory.GetFiles("*.robin"); //Getting Robin scripts
44
List<string> ScriptsList = new List<string>();
45
string script;
46
foreach (FileInfo file in Files)
47
{
48
script = " {folderPath}\{file.Name}";
49
ScriptsList.Add(script);
50
}
51
return ScriptsList;
52
}
53
54
// Method that executes the help command
55
public static void ExecuteHelpCommand(string robinCommand)
56
{
57
Process process = Process.Start("cmd", "/c " + robinCommand);
58
process.WaitForExit();
59
}
60
61
// Method that either runs or checks a command
62
public static void ExecuteCommand(string robinCommand, string script)
63
{
64
Process process = Process.Start("cmd", "/c " + robinCommand + script);
65
process.WaitForExit();
66
}
67
}
68
}
69
Возможности безграничны. Мы также можем автоматизировать, например, наши скрипты Робина для выполнения через регулярные промежутки времени или при возникновении определенных событий. В случае рабочих станций Windows простой способ сделать это - использовать сгенерированные исполняемые файлы с помощью планировщика задач Windows через определенные пользователем интервалы или события.
Вывод
Robin - простой, но эффективный язык сценариев для RPA. Мы создали сценарий, который извлекает веб-данные, и использовали консольное приложение C # для автоматического выполнения наших сценариев. Возможности бесчисленны, и это зависит от вас, чтобы исследовать.
Дальнейшее чтение
5 шагов Руководство по успешной реализации роботизированной автоматизации процессов
Как ИИ и РПА объединяются для создания интеллектуальной автоматизации