Смотреть видео: BrowserAutomationStudio. Встроенные языки, node.js, npm.


3 832 просмотра.

Краткое описание видео: .приветствую вас появилась поддержка.строил языков программирования и первым.таким языком стала java-script.это реализовано через платформу.но джесс также поддерживается mpm модули.и в этом видео я покажу как выше.примеров как это может быть использовано.потому что возможности действительно.безграничная но сначала небольшое.вступление вы наверное могли заметить.что вас поддерживал java script и ранее.ну вот была выбрана реализация меня с.помощью ночь с по нескольким причинам.первое то что языки они развиваются.они постоянно развиваются туда.добавляются какие-то новые.синтаксические конструкции какой-то.новый функционал и так далее и java.script не является исключением вот та.реализация старая она не подразумевала.обновление языка с подключением ночь с.пользователь ибо смогут ты использовать.обновление синтаксиса и новой редакции.java скрипта.но это не главная причина главная.причина это поддержка библиотек код java.script существует множество сторонних.библиотек которые вызывают разный.функционал на все случаи жизни.если я зайду на сайт ларисы aio.и посмотрю на количество пакетов которые.есть ноги то вы можете видеть количество.превышает полмиллиона.пол берёт больше полумиллиона пакетов а.существуют для java скрипта это.но как я уже говорил может быть все что.угодно здесь можно найти библиотеки для.работы с криптографию для тех этапе а.каких-то известных сайтов соц сетей и.даже для сети которые позволяют.автоматизировать действует сети например.сегодня я покажу как.очень просто можно встречать видео с.youtube и так далее и вот этот весь.функционал он доступен разработчикам на.java script а теперь он доступен.использовать фан-баз давайте начнем.работу запустим режим записи и и.посмотрим как как начать работу со.встроенным языками и теперь я хочу.работать с любым встроенным языком все.это осуществляется за интернет модуль.встроенном языке я захожу сюда и.пока здесь только одно действие но джесс.но по мере того как бы утолять самого.языки и действий быстро создавать больше.не нужно зайти сюда и я сразу вижу.сообщение то есть языки они не.встречаются в баз по умолчанию для.сохранения место для сохранения.производительности чтобы не нагружать.скрипт не нужно потому что старое железо.ция которая стабилизации java script а.она до сих пор работает ее нужно.использовать.поэтому мне нужно сказать что я хочу.использовать но джесс я могу это сделать.через настройки здесь поставить галочку.напротив языка которая пищу использовать.я нажимаю руки и сейчас происходит.установка установка языка.она происходит только при первом запуске.то ли за такое окно чтобы пользователь.понимал что у вас не зависит что.происходит в кои-то и действия и здесь.какие то сообщения которые он может.получать.о прогрессе установки.такое же окно он будет видеть и при.запуске скомпилирована скриптов то есть.точно также но до доступна и для.пользователей которые используют.созданные вами ботов хорошо сейчас.светова готово и сейчас я уже могу.начать добавлять какой то код на джесс.появляется такое окно я сделал его.немного больше здесь в центре находится.редактор я могу прямо начать писать.здесь код я начну с очень простого.элементарно премьера наверно каждый.программист который начинает знакомство.с новым языком 1 его сдачи является.вывод чего-нибудь влог и я выведу.стандартное сообщение от верхних нажимаю.ok.появляется новое действие на поля.редактор сценария и собственно влог вот.самое сообщение то есть видите что.a-класс a-класс console и метод log он.очень хорош entry and bass текста.является не дмитрий какого-то браузер.а внутри просто машин studio хорошо но.это очень простой пример давайте сделаем.что-то по-сложнее.а что то чего не было просто реализация.java script и что появилось сейчас.допустим это криптографии я хочу.вычислить h.я хочу вычислить хорошо.к сша 256 я поищу гублю как это можно.сделать и вот первая ссылка на которую я.попадаю это ссылка из документации здесь.вот есть прямо готовлю пример я могу.просто не задумывали скопировать его в.редактор видите что здесь учитывается.хэш и мог укрыться и водится лог.после запуска действия я получаю хэш.точно такой же как на сайте я могу.поменять значение строки из которой буду.повышать кэш и соответственно значение.изменятся но что если мне нужно и сам не.нужно получать хэш несколько это жёстко.прописано строки.а и старики которые получают другим.способом мы пустим который вводит.пользователь наверное знаете что того.чтобы попросить был пользователя ввести.какое-то значение нужно создать новый.ресурс я сейчас очень быстро создам.новый сушки pass through all.перезапущу a script и увидите что второй.раз об и скрипта происходит уже.мгновенно то есть но да не.устанавливается второй раз и обмен.переменная между обмен данными между.скриптом баз и скрипт он на встроенный.язык я осуществляется через переменная.давайте я покажу как это сделать сначала.я создам новую переменную которую.прочитаю из ресурсов.назову ее string и вот теперь простого.переменная была создана я могу.использовать ее в любом месте внутри.моего встроенного скрипт а вот если вы.посмотрите обрести внимание что справа.есть такая небольшая панель с.инструментами здесь оповестил самое.часто использовал действие на первое из.них это использовать переменно я заменю.привет на переменную string и чтобы я.понимал что переменная передалось.правильно я выведу ему.давайте проверим посмотрим ведь вывел и.значения холоден который вел если вы.сейчас изменю то я уже получу другое.значение и соответственно hush но.посмотрите что же сделает наш скрипку.добывают результат он ведь его в консоль.и это опять же не совсем правильно.потому что бывают случаи когда мне нужно.использовать его дальше использовать это.значение дальше и.но на самом деле выводить в консоль хэш.я могу придумать очень мало ситуации.когда этом не может пригодиться и.переменная в этом случае тоже могут мне.помочь потому что с помощью них можно не.только передавать значения внутри.скрипта на встроенном языке но и.получать значения тут от если такой.универсальный метод для обмена данными я.могу снова.пользовались давайте я создам новую.переменную кэш и буду использовать ее.сюда просто помещу вот этого значения.теперь у меня а влог выведется.только-только размещение с каторги.работы смещения stratig.colette веспер три переменных я уже.получаю свой ха ха ешь и могу дальше.продолжать использовать продолжать дело.скрипт уже с использованием вот это.перемены.хорошо.но вот вот и который я использовал.крипто он встроенный gps и доступен всем.пользователям но существует библиотека.которая нужно устанавливать отдельно.допустим у нас есть такая задача очень.часто спрашивают пользователь загрузить.данные из эссекса.из таблицы excel вот встроенного.функционала которая это делает в аноде к.сожалению нету но есть множество модулей.которые могут помочь в этом.чтобы установить модуль нужно зайти в.настройки и рядом с версии языка от.выбрать дополнительные библиотеки.которая этот язык будет использовать.нашем скрипте возрасти тайссе я не могу.установить все библиотеки сюда мне нужно.согнулся давать их здесь можно вылететь.название и будут выдаваться подсказки.вот поиск предлагают нам.2 призывают нам нужны руки этих вот.перво кажется лучше но я я пробовал она.требует допросили библиотек я компиляции.2 работает на чистом джесс и мне.нравится намного больше поэтому я буду.использовать стран and теперь чтобы.сохранить настройки мне нужно нажать ok.в это время скрипт перезагрузится и.снова появится окон установки.потому что дополнительно нужно.установить от google и отёк увидеть.еловик раз сейчас.высвечивается антральный стал то есть.так вас говорит разработчику что.происходит установка необходимых модулей.давайте подождем пока это произойдет.и теперь у нас есть среда которая может.работать с экселем давайте я открою.предыдущий а предыдущий вызов функции.настроенном языке и добавлю какой-то.комментарий чтобы я очищал один лизала.другого.и к каждому модулю обычно прилагается к.этой документации я могу посмотреть.документацию просто нажав на вот эту.красную кнопку.я на нее нажимаю и появляется вот вот.такой вот мама обычно у это модули этот.налог попроще у этого модуля очень много.функционала может не только считать.написать excel файл и поэтому здесь вот.много очень много всякой информации и.придется поискать то что нужно.но я повторюсь обычно это намного проще.и прямо в начале мануала есть какой-то.пример с которого можно начать которые.можно просто добавить балансы которые.будут работать здесь вот нужно найти.этот пункт на джесс видов а то есть.чтения из excel файлов.но джерс я могу прямо скопировать этот.код сюда и как нетрудно догадаться это.это это имя файла я создал вот такой вот.таблица хочу простую и поместил ее в эту.папку вот этот файл и сальсы xlsx.где слышу нужно степич но этот код на.самом деле отработал но он ничего не.вернул ее ничего не вывел.песни было вызова console.log или.сохранение перемен ну давайте посчитаем.документацию дальше как на самом деле.этот код просто загрузила файл в память.давайте посчитаем дальше как мы можем.получить оттуда конкретные данные вот.здесь вот есть пункт рейтингом специфик.сам.и опять же код который я могу.использовать.могу просто вставить ваш и дал.и вылезти влог под это переменная.после выполнения в луковице именно то.что в этом файле.если я изменить значение здесь и сохраню.файл то после перезапуска действия.блоковый месяца уже обновленное значение.вот в этом модуле есть еще одна полезная.утилита которая позволяет посчитать.файл в разные форматы.например не нравится этот вариант и.считается файл csv.на самом деле я могу удалить вот это все.и добавить вот этот вызов.то есть ну фактически это означает.прочитать все что есть на первой.странице.я создал новую переменную и сохрани.изначально всегда наблюдаю эту.переменную влог.да я ударил немного нужного кода.вот это не строго удалять это поиск.имени первой странице вот теперь.правильно и и также по аналогии чтобы.использовать данные далее я создам новую.перемену.назову его просто дата.ему написать даже фото.теперь вот у меня переменная дата вот.такие значения и обратите внимание что.тип развлечение который вернулся строка.но на самом деле я могу передавать и.сложные типы схем и написать вытолкнуть.в этом случае у меня строка.у меня из одной строки получится просто.массив из то есть я разобью свой текст.на строки и я получу масел этих строк и.теперь идти под эта перемена изменился и.он соответствует списку.этот список он точно такой же как.используется внутри вас это значит что я.могу использовать моды список и вот все.вот эти действия чтобы его обработать.там я могу получить первый элемент.второй элемент использовать хлорид чтобы.сделать цикл по каждому элементу списка.и так далее если я допустил какую-то.ошибку при написании а при написании.скрипта на встроенном языке то если это.ошибка синтаксическая то вас просто не.даст мне вас просто не даст мне выдаст.ошибку не даст мне сыплется это действие.вариант либо поправить его.либо нажать отмена и вариант когда.ошибка проявляется уже в процессе работы.допустим а если использую несуществующую.переменную то время упомянутого блока я.получил какое-то содержательное.сообщение например что эта переменная не.определена.и эти ошибки они также интегрированный.паз и соответствует соответствует этому.действию файлов то есть я могу.использовать блок игнорировать ошибки.чтобы игнорировать ошибки не только.среди обосновываться них языка.смотрите вот так это будет выглядеть я.специально почищу лог чтобы было.нагляднее и сейчас него ничего не.выиграл ась а переменная в озеро.переменного стирола и племенная рода.идти они заполнились правильными.значениями теперь передём к следующему.кино ну допустим мне нужно получить.какие-то значения из баз данных майские.снова действовал по такой же схеме.ищем.еще модуль.добавляем его в паз нажимаем ok.сейчас происходит установка этого модуля.[музыка].и теперь я могу consists of asia москве.я стал еще одно действие и снова я.смотрю.[музыка].какое какую документацию этого модуля.и тоскливо с другом браузера.вот такой вот код я рукаву использовать.его здесь.базу данных у меня называются серая.находится на локальном на локальном.сервере и мне второй пароль тест него.тоже нужно указать на себя получил.ошибку доступа.это 2 разные запросы я оставлю только.один и буду получать все отдам на этого.пользователя.и если я добавлю если я выполню это.действие то ничего не произойдет здесь.вы проявляется одна такая особенность.java скрипта которая одновременно.является и огромна преимуществам и.недостаткам.дело в том что уважала скрипта основная.кого-то вызова основных принципа тически.все опять у него у него не блокирующие.давайте я объясню что.что это значит вы допустим вы работаете.на компе языки программирования и.работайте со строкой.вы как-то ее преобразуете возможно.применяется к ней.регулярное выражение и так далее и вот.эти операции они происходят очень и.очень быстро это современно комплект они.справляются с обработкой мистрал когда.женщин вашим там какие-то доли секунды и.альбом отрабатывай и с этим никаких.проблем не возникает но что если нужно.сделать какую-то операцию который.занимает много времени тебе нужно.скопировать какой-то большой файл.какой-то огромный файл ну скажем файл с.каким-то фильмом и вот и долю секунды.уже.операционная система просто не даст это.сделать в этом случае тратя будет.занимать ну допустим пол секунды и вот.на время которая который будет приз.летят операция текущий поток он будет.блокироваться и если программ 1 по точно.это будет тратить блокироваться яйцо.приложения то есть будет видно такое.подвисание это.на языках программирования которые имеют.которые блокируется замок это функция.блокировать ликующий поток java скрипт.работает не так он выполняет какое-то.действие и сразу же возвращаются сразу.переходит к следующему.о результате выполнения этого действия.он оповещает самим call back а то есть.это можно очень хорошо проследить на вот.этой функции я делаю запрос базе данных.он может занять какое-то время и дальше.у меня происходит следующее действие а.когда этот запрос завершился то будет.выведена то что ждал раза больше в.данном случае это бывает хлоп.результатов запроса и вот первый подход.который используется большинством языков.программирования.он на самом деле имеет очень.существенные недостатки особенно если вы.начинаете делает ваши скрипты надо по.точному.потому что чтобы вот привет какой-то.долгая операции.чтобы текущий поток не блокировался.нужно создавать новый поток и переносить.вот эту долго-долго и трассы длина.который занимает много времени и попал.другой поток казалось бы это просто но.не совсем.допустим вам нужно сообщить о.результатах этой операции и нужно чтобы.эти потоки имели какие-то совместные.данные и вот прикол в том что если.несколько потоков будет работать с этими.данными то.может произойти так что программа выдаст.исключения то есть просто остановит.работу все приложения и программисту.нужно использовать специальные.комментирую чтобы синхронизировать вот.эти два потока и на самом деле это может.быть очень сложно и это может вылиться.остыть и очень странные ошибки когда.скрипт у вас работает работает все.хорошо но через но допустим у какого-то.одного из десяти клиентов.1 из 100 запуска вам совершенно случайно.падает и их очень тяжело отлаживать но.вот взяла screen so происходит не так.такие ситуации просто не может быть на.самом деле ас оптический он работает в.один поток и проблемы проблемы доступа к.данным сразу потоков в нём просто не.существует но из другая проблема как как.синхронизировать такие действия потому.что я запустил части тела меня нет.работал 30 завершился прежде чем.завершился запрос и вот в новых.спецификациях иска java script они это.поправились помощь его друг точнее они.предоставили способ решить эту проблему.с помощью двух новых ключевых слов это.осинка и говорит и я вот даже сделал.специальный инструмент и специальный.характер который может он называется.синхронизировать которое может сделать.вот это действие котором выполняются в.форме и дождаться результата его.выполнения смотрите на самом деле от.должен frost и нажимаем синхронизировать.у меня появляется как а вот код не нужно.вместо этого комментария поместить под.которую я хочу синхронизировать.вот так то в этом редакции ст и.съедобный офисе называется формат.документов и он может справиться о.ступор и тогда в тот момент когда я хочу.выйти из этого действиями нужным.излишней сыр зол если моя задача на.запуске завершил если она отработала.правильно и вот здесь вот я могу вывести.вывести мои результаты и я могу быть.уверенным что последующие действия после.синхронизации они будут выполнены только.тогда когда вернется fun зарезал когда.запрос базе данных будет произведен я.давайте даже поставлю.поставлю логово tour skoda сообщение.сделал давайте посмотрим как это.работает сейчас.видите отлично а.то есть в лоб вывелся.вывелись результаты запроса и сообщения.о том что о том что вы за это синхронно.и действие оно выполнено и дальше я могу.добавлять новые действия могу помешать.это внутри циклов внутри условия и так.далее если вы с помощью такого простого.инструмента я могу избежать вот этих.недостатков java script об адресе я.добавлю сюда лимит то количество.результатов видим очень большой.интерфейс подтормаживает я сделаю так.чтобы сделать только.только 1 пользователь.вот тебе работает быстрее.screamin’ учился это же вводить не нужно.поэтому я эндрю.есть ещё такой момент что мисси функций.зло.определяете функции reject ее нужно.выводить тогда когда а когда мои.действия отработала неправда ты смотрите.вот видите здесь возвращается переменная.карт и я могу ее использовать для.проверки написать как так и если эта.переменная a 1000 нанимал то вызвать то.вызвать хомс о риджал его ходить и в эту.давайте намеренно сделаем машинку.например ошибемся в пароле.посмотрим как это отработать и тянулась.какая-то ошибка уже запрос сделан а он.не был выведен то есть точно так же как.в бас если происходит куда если.происходит ошибка то сценарий прекращает.свою работу конечно можем поставить им.не жевать ошибки или тратишь сюда на.востоке села.данном случае будет выведена запрос.сделан потому что она фактически мы.тренировали то ошибку.убьем трофейчик и вместо какого-то.абстрактного сообщения какая-то ошибка я.могу вывести настоящие сообщение об.ошибке на меня находится переменная.случае если скрипт выполнялся.неправильно и прямо у вас красным цветом.вводится как создавать то есть доступ.запрещен.это потому что я ввёл неправильный.пароль.следующий пример будет касается facebook.api для ноды.существует специальный модуль и.использоваться айпи фейсбука.действительно просто нужно всего.несколько строк я буду использовать его.чтобы сделать пост начинаем это же с.поиска модуля он называется hb.на джесс отдыхал фейсбук.давайте посмотрим на его документацию.вот так вот можно подключить этот модуль.здесь разнообразные примеры но мне нужен.например для постинга я просто его.скопирую сюда вот нужно вставить access.стал его можно получить на сайте.фэйсбука здесь вот содержание поставки.я просто поставлю здесь единичка.воздействует вырезал который опять же.нужно синхронизировать то есть точно.также как смазка утра синхронизировать.переношу под сюда снова форматировать.документы и там где у меня работа моя.функция завершена я просто вызвал раза а.в том случае если происходит ошибка я.вызываю джек.вот вы видите что пост был создан это.именно та сообщения которая вводится при.канал корректном выполнения вызова api.то есть всего действительно очень-очень.просто следующий пример это получение.файлов через ftp.я скачал вы такой очень простое.от этой сервер который будет запущен на.у колхоз он будет настроен а он настроен.на полку центр the rifles.то есть по идее я должен получить все.файлы утварь или папки по ищем модуль.который за это отвечает.в документации вот приблизительно такой.пример первый пример как раз то что нам.подходит.список файлов в папке в корневой палача.я его просто скопирую.по комментарию видно что происходит.налог на поиск стандартного порту.это именно то что нужно но я уверен что.это для цеха также позволяет задать.параметры сервера портал логин и пароль.это значение по умолчанию данном случае.меня устраивают потому что сервер на.localhost.еще есть такой момент вот эти вот эти.вызовами сейчас как бы перепутаны то.есть сначала нужно сделать коннектор.потом получается список файлов.это как раз вот java script допускает.такое так вот порядок действий потому.что здесь вот этот код он будет выполнен.мгновенно не тогда когда будет получен.список фазы и соответственно выполнение.все те действия которые находятся здесь.оао мгновенно а тогда а когда будто.лучший способ файла кто просто вызовется.этот call back.но мне сейчас нужно синхронизировать вот.это все точно так же как и я показывал.ранее я вызываю синхронизировать копирую.код который мне нужно что то делать.вместо комментария.здесь вот.вложены вызов то есть начало к это.событие а потом культа come back.но по аналогии с предыдущим с.предыдущими.решениями я могу выслать резал здесь у.меня успешное выполнение могу также.обработать ошибки reject на потрать.форматирование.песня будет выводиться значениях консоль.и если расставлю вот так кто работает не.будут потому что те же люблю ранее.порядок здесь изменён но если я.синхронизировал действия то это означает.что вот это действие будет руками на.только после вот этих.а это невозможно так как начале нам.нужно закончится к серверу.об этом уже получает список файлов.поэтому в данном случае мне нужно.поменять эти действия местами так цель.знал define да и создание клиента нужно.поместить самое начало.пробуем еще раз.смотрим лог сервера действительно.произошли какие-то действия да ну вот.консоль methode der из класса концов он.не интегрирован бас мне нужно.использовать лоб консоль мог т.е. вас.понимает только консоль долг именно.поэтому еще не ловилась.теперь влог вывелся список всех файлов.которые мне есть в этой папке.вот он формате джейсон из например резцы.балками текст который там который есть в.этой папке есть сеть из рун и так далее.и точно так же как с excel и для могу не.просто выводить лог особнячок оригами.при выполнении этого действия 2 1.переменная раз у меня уже.список в котором находится список.ассоциативных массивов со свойствами.каждого файла.ну и последний пример да давайте я.приведу но этот последнем примере мы.будем скачивать видео с youtube а как.всегда найдем соответствующий библиотеку.для этого первую я использовал мне не.подошла на тебя не слишком много и.зависимости запуская какой-то непонятный.файл сработает.смотрим документацию нам предлагают вот.такой код.будем качать вот это видео нужно указать.папку и имя файла и вот здесь вот.действия возвращается мгновенно и на.самом деле от она возвращается мгновенно.афоне вот этот файл скачивается почему.так происходит а также и за.синхронизации то что эта функция.возвращает нам поток и нам нужно.дождаться пока он не закончится иначе он.будет заканчивается где-то по грамоте.то есть этот вариант а жгут работает мол.если допустим видео будет очень большой.и мастером скрипта.сдача прервется.снова мне нужно вызвать синхронизировать.поместить сайта седан.однако здесь как видите нету камбэк от.куда бы я мог ставицкий зал но здесь.нужно использовать систему событий то.есть у потапа когда заканчивается вы.него происходят события клаус фигне.нужно повеситься в рабочих на это.событие и вот уже вот к этому-то толщу.чили сладкий.не изменю на фарме и вы сейчас уже.скрипт работал некоторое время то.понадобилось некоторое время которого.как раз не качал видео и давайте.посмотрим есть ли она доведите что видео.скачалось но стройные языки способны не.только на это еще одна возможность c.которая присутствует.этого вызывать а действия пас внутри.кода настроенных языках в том числе.действия которые содержат работу с.браузером давайте напишем код на ночь с.который будет работать с браузером для.начала создадим несколько действий.первая я загрузил свой сайт.и вторая кликну на кнопку.это все очень просто делается а сейчас я.перенесу эти действия внутри она джесс.кода святого консоль я беру просто.это действие копирую его и вставляю код.просто через control bar.я получаю вот этот вызов рейд bass i5 и.здесь каждый текст на javascript а потом.я могу снова написать какой-то сообщения.вызвать абсолютно любая java script код.и тег реже скопировать вот это действие.и в конце вы знать и листья.давайте посмотрим как это будет работать.загружается сайт нажимаем на кнопку я.увижу старые действие не спит не нужны и.я могу сделать абсолютно что угодно.например я могу выполнить это все три.раза за цикл.прямо на java script от одного до трёх и.я выполняю это все загружается первый.раз нажимаете на кнопку загружается.второй раз и третий раз еще одна.интересная особенность она состоит по.встраиванию то пальцами файл как это.выглядит вы здесь вот съела есть такая.панель и такое менее project manager то.есть здесь есть файл который я могу.использовать в любом действии на дно.джесс допустим у вас есть функционал.который.вот допустим у вас есть функция которая.отравляет почту и в ней есть там.какой-то объем кода допустим 10 строк и.вы хотите эту функцию чтобы отправка.почты она использовалась нескольких.местах.нескольких других действий допустим от.o’reilly пост на фейсбуке удачно и.вместе с этим отправляется почта сделали.еще по это действие вместе с знак отеля.отправляется почта.если будет эта функция была вам пришлось.копировать действие отправки почты из.каждое действие на встроенном языке.программирования.так ну то есть это фактически аналог.функций эти посмотрим как это будет.выглядеть и добавляет новый файл.я вот так назову отправить почту.им не нужно писать код внутри этой.функции я здесь вместо отправки вместо.настоящей отправки просто буду выглядеть.лог-сообщения.еще добавлю сон на некоторое время на.одну секунду.чтобы была какая-то видимость.совершаемого действия и сонни.опять же нужно синхронизировать потому.что эта функция вы решается мгновенно а.мне нужно чтобы навернулась только когда.действие сам замешалась поэтому точно.так же как с остальными действиями.которые синтезировал я копирую.функцию внутри вот этого блока и вызываю.раза волкодав закончена.я это все сохраню и теперь я могу.вызывать вот этот файл с помощью этого.инструмента.использовать файл здесь выбирают роюсь.почту.ведь плохо жилось отправляю почту опять.же я могу поставить здесь цикл и.выполнять вот и все в церкви.блоку есть три сообщения и она успешно.завершилась кит теперь опусти руки.создал файл я могу использовать и во.всех остальных действиях.да здесь переменности не определена.поэтому выскочила ошибка но вот видите в.конце рапа видим действия снова.вложилась в лоб отправляю почту.а это значит что содержимое файла она.посчитала.и в этом действии

BrowserAutomationStudio. Встроенные языки, node.js, npm.

Как? Вы еще не смотрели? Ну это зря...