Long Live BAS :)
Выпущена 22.0.0 версия BrowserAutomationStudio
-
Функции теперь имеют параметры и возвращаемое значение.
Добавлены действия
Получить Параметр ФункциииReturn.Задать список параметров и их описание можно в менеджере функций
Теперь одну и ту же функцию можно вызывать с разными параметрами, что упростит повторное использование кода.
Новые действия содержат интерактивную документацию, подробности можно узнать там.

Менеджер функций.
Работать с функциями теперь можно в отдельном окне, которое называется менеджером функций.
Все элементы управления, а именно: создание, редактирование, удаление функций, были перенесены туда.
Добавлена возможность поиска функций и задание параметров.
Основное окно:

Задание параметров функции:

Действия
Получить Параметр ФункциииReturnдобавляются в редактор скрипта автоматически.
Расширение API для веб интерфейса.
Добавлено множество методов, которые можно вызывать из веб интерфейса.
Методы для взаимодействия с системным окном:
-
MoveWindow - смена положения окна.
-
ResizeWindow - изменение размеров окна.
-
Api.OpenFileDialog, Api.SaveFileDialog - вызов системного диалога выбора файла.
-
ShowNotification - показ системных уведомлений в трее.
-
OpenUrl - посещение заданного url, открытие файла или программы.
Больше подробностей можно узнать здесь:
https://wiki.bablosoft.com/web-interface/#/interactingnativewindow
Все генерируемые диалоги для выбора файла были заменены на нативные.

Добавлено синхронное API для работы с файловой системой. Сюда входит: чтение/запись файлов, работа с папками.
Больше подробностей можно узнать здесь:
https://wiki.bablosoft.com/web-interface/#/filesystem
Начальные размеры окна можно задать прямо в его настройках:

Создавать интерфейс теперь можно с нуля.
Это можно было делать и раньше, но сейчас для этого появились дополнительные возможности.
При создании и генериции интерфейса можно выбрать его тип:

Появилась возможность сохранять изменения прямо из редактора кода и вообще не заходить в визуальный редактор интерфейса.
Новый тип интерфейса заставляет BAS работать принципиально новым способом, вместо того, чтобы запускать один скрипт сразу, как это было раньше, теперь можно реагировать на события на странице(например, нажатия кнопок) вызывая BAS функции, а параметры для этих функций можно брать прямо из веб интерфейса.
Вызов функций BAS и создание потоков из веб интерфейса.
Теперь неограниченное число потоков можно создавать прямо из веб интерфейса, а также вызывать в них функции с заданными параметрами.
Для получения результатов можно использовать объект Promise или ключевое слово await.
//Создаем поток var Thread = new BASThread() //Устанавливаем прокси await Thread.RunFunction("SetProxy", {"ProxyLine": "socks5://127.0.0.1:11185"}) //Вызываем функцию для парсинга var LinksList = await Thread.RunFunction("MakeGoogleQuery", {"Query": "cats"}) //Останавливаем поток Thread.StopThread()Данное API умеет обрабатывать ошибки и имеет специальное расширение к объекту Promise, которое останавливает поток.
Более подробно здесь:
https://wiki.bablosoft.com/web-interface/#/callbasfunction
Существует возможность отлаживать выполнение функций прямо в BAS:

Приложение ParseGoogle. Демонстрация функционала.
Было создано новое приложение ParseGoogle. Оно парсит выдачу по заданному запросу.
Приложение довольно примитивно с точки зрения функционала, зато имеет приятный интерфейс и хорошо демонстрирует новые возможности.

Конечно же, все это сделано на BAS.
Скомпилированное приложение
https://bablosoft.com/distr/ParseGoogleDistr/ParseGoogle.zip
Проект BAS
https://bablosoft.com/distr/ParseGoogleDistr/ParseGoogle.xml
Веб интерфейс
https://bablosoft.com/distr/ParseGoogleDistr/ParseGoogle.main.interface.txt
Данное видео демонстрирует процесс создания:
https://www.youtube.com/watch?v=SOu0uBhNewE
Вызов функций BAS и создание потоков из node.js.
Функции BAS теперь можно вызывать и из node.js.
Так же, как и для веб интерфейса есть возможность ожидать результатов и обрабатывать ошибки.
var Result = await BAS_FUNCTION( "FunctionName", {ParamName1: "ParamValue1", ParamName2: "ParamValue2"} )Подробней здесь:
https://wiki.bablosoft.com/doku.php?id=node.js#calling_bas_functions
Этот метод значительно упрощает взаимодействие с браузером и с BAS из node.js
Улучшения интерфейса
Внешний вид редактора скриптов был переработан.
Добавлена визуализация меток, метки можно создавать перетаскиванием специального элемента управления:

Добавлена справка по основным возможностям BAS:

В нее можно попасть нажав на кнопку по центру, справа в редакторе скрипта.
Справка содержит описание для каждой группы(циклов, условий, парсинга и т .д.), с основными принципами работы.
Там также находятся основные действия и примеры использования.
Был обновлен инспектор переменных - теперь он показывает состояние ресурсов, его размер может быть изменен.

Переход к функции может быть осуществлен по клику на названии функции в действии "Вызов функции".
Место для активной вставки действия не изменяется при редактировании скрипта.
Описание действия сохраняется вместе с сохранением данных.
Верхняя панель в редакторе скрипта была заменена на меню.
Вместо задания количества успешных и неудачных выполнений теперь можно выбрать "Повторять"
Обзор нового интерфейса можно найти в этом видео:
https://www.youtube.com/watch?v=z6iTuFyL9CA
Исправление ошибок
- Планировщик не перестает работать при питании от аккумулятора.
- Исправлено решение рекапчи если функция ответа является строкой.
- Исправлено падение при сворачивании веб интерфейса в трей на Windows 10.
- При отсутствии информации о кодировке почтового сообщения, BAS не подразумевает что письмо закодировано в quoted printable.
- Исправлено падение при установке скорости мыши из строки.
- Исправлено смешивание ресурсов если планировщик запускает одинаковые проекты одновременно.
-
-
@support said in Выпущена 22.0.0 версия BrowserAutomationStudio:
Это самое грандиозное обновление, пожалуй после добавления самого веб интерфейса. Асинхронный запуск функций BAS'a из интерфейса просто развязывает руки, я уйму костылей создавал, чтобы эмулировать такое поведение в проектах.
Есть пара пожеланий по интерфейсу, например дать возможность добавлять избранные действия в рабочую зону (где сейчас справка):

Хотя бы на 3-4 действия.
И частенько просят дать возможность отделения инспектора переменных в отдельное окно или как вкладку с "результатом" и "логом":

-
Потрясающее обновление, достойное внимания. Спасибо автору за функциональные возможности. Об асинхронике я высказываюсь уже давно, в прошлый раз меня высмеяли, сегодня оно в обнове. Наиболее сладкая фича для меня - это аргументы функции, раньше приходилось их выносить за рамки блока в виде переменных, сейчас же мы можем интегрировать их внутрь. Это позволит создавать гибкие шаблоны, не привязанные к статике данных. По сути для множественного использования под старые проекты достаточно сформировать один универсальный проект xml с набором функций, принимающих аргументы, как-то: прокси, фингерпринты и т.д.
Наглядный пример универсальности функций выкладываю сюда: достаточно задать два аргумента: string и color. И ваш лог засияет одним из 139 цветов. В аргумент color можно задать, как текстовое обозначение цвета, например "green", так и rgb, например, #66ff00
Можете использовать в любом проекте :)
Колоризатор лога прикрепляю сюда: 0_1566612375592_colorize_log.xml -
Так же хочу высказаться по поводу "описания" к функции. Сейчас оно делается внутри редактирования функции и посмотреть его можно исключительно там, что не очень удобно. Не знаю, планируются ли изменения автором, но не плохо было бы позволить смотреть описание прямо из внешнего блока. Примерное представление я нафотошопил на картинке ниже:

-
@mrhensley, необязательно
-
Ничего интересного, даже качать не буду.
Там пора бы реально делами заняться:
1)Улучшить анонимность, там уже новые методы появились определения.
2)Модуль IMAP вообще нуждается в полной замене с нуля.
3)По профилям там есть где копнуть.
4)FP Switcher функционал бы добавить/расширить.
5)Модуль джосна добавить пора бы
6)Базу данных прокси обновить (Сведения об IP), там с НГ вышел расширенный функционал у тех ребят. Больше инфы об IP отдает. Не ну реально бесит этот IP_INFO_VALID - FALSE. -
@fastspace, Ничего интересного для вас, но не для других.
@fastspace said in Выпущена 22.0.0 версия BrowserAutomationStudio:
Модуль IMAP вообще нуждается в полной замене с нуля.
Что мешает использовать curl или node?
@fastspace said in Выпущена 22.0.0 версия BrowserAutomationStudio:
Модуль джосна добавить пора бы
Зачем? Через выполнить код легко сделать парсер json любой сложности. Json явно не то для чего нужен отдельный модуль, т.к парсер json это простейший js
-
@000 said in Выпущена 22.0.0 версия BrowserAutomationStudio:
Копировать функцию из проекта в проект по старинке пока?
upd: увидел, из видео что это будет в новой версии...В новой версии будет обновлена система модулей. Будет возможность:
- Создавать свой модуль из проекта со списком функций.
- Устанавливать модули на свою версию БАС.
- Делиться модулями.
- Использовать модули в скомпилированных приложениях.
-
@fox said in Выпущена 22.0.0 версия BrowserAutomationStudio:
Есть пара пожеланий по интерфейсу, например дать возможность добавлять избранные действия в рабочую зону (где сейчас справка):
Не хочу ее снова захламлять, но могу сделать шорткаты для действий в закладках.
И частенько просят дать возможность отделения инспектора переменных в отдельное окно или как вкладку с "результатом" и "логом"
Это сделать будет достаточно сложно, лучше потратить время на более значимые вещи.
-
@olegtut said in Выпущена 22.0.0 версия BrowserAutomationStudio:
Так же хочу высказаться по поводу "описания" к функции. Сейчас оно делается внутри редактирования функции и посмотреть его можно исключительно там, что не очень удобно. Не знаю, планируются ли изменения автором, но не плохо было бы позволить смотреть описание прямо из внешнего блока.
Описание функций будет использовано при превращении проекта с функциями в модуль. Описание конкретного действия в создаваемом модуле будет получаться из описания функции.
-
@elmore said in Выпущена 22.0.0 версия BrowserAutomationStudio:
В меню функций не хватает возможности "закрепить" выбранную функцию вверху списка. И хорошо бы закрепить функции Main и OnApplicationStart вверху "по умолчанию"
Для удобства можно сделать "прямоугольный раздел" под поиском и перетянутые функции в тот раздел (drag-and-drop), тоже становятся закрепленными.
-
@fastspace said in Выпущена 22.0.0 версия BrowserAutomationStudio:
Ничего интересного, даже качать не буду.
Там пора бы реально делами заняться:
1)Улучшить анонимность, там уже новые методы появились определения.
2)Модуль IMAP вообще нуждается в полной замене с нуля.
3)По профилям там есть где копнуть.
4)FP Switcher функционал бы добавить/расширить.
5)Модуль джосна добавить пора бы
6)Базу данных прокси обновить (Сведения об IP), там с НГ вышел расширенный функционал у тех ребят. Больше инфы об IP отдает. Не ну реально бесит этот IP_INFO_VALID - FALSE.Пока это выглядит как то, что вы выражаете свое недовольство, тем, что в новой версии не то, что вам нужно.
Если вы действительно хотите исправить интересующие вас проблемы, для начала их нужно описать намного более детальней, привести конкретные примеры систем, которые используют новые методы определения, либо ссылки на статьи, где они описаны, или хотя бы на конкретный код, где это реализовано.
-
@rus_kil said in Выпущена 22.0.0 версия BrowserAutomationStudio:
@fastspace По поводу анонимности это точно, cам BAS каким-то образом виден разным сервисам, например стримминговым сайтам, получается такие монстры, как гугл и фейсбук уж точно его распознают
Тоже самое, нужно больше деталей.
-
@support said in Выпущена 22.0.0 версия BrowserAutomationStudio:
@fastspace said in Выпущена 22.0.0 версия BrowserAutomationStudio:
Ничего интересного, даже качать не буду.
Там пора бы реально делами заняться:
1)Улучшить анонимность, там уже новые методы появились определения.
2)Модуль IMAP вообще нуждается в полной замене с нуля.
3)По профилям там есть где копнуть.
4)FP Switcher функционал бы добавить/расширить.
5)Модуль джосна добавить пора бы
6)Базу данных прокси обновить (Сведения об IP), там с НГ вышел расширенный функционал у тех ребят. Больше инфы об IP отдает. Не ну реально бесит этот IP_INFO_VALID - FALSE.Пока это выглядит как то, что вы выражаете свое недовольство, тем, что в новой версии не то, что вам нужно.
Если вы действительно хотите исправить интересующие вас проблемы, для начала их нужно описать намного более детальней, привести конкретные примеры систем, которые используют новые методы определения, либо ссылки на статьи, где они описаны, или хотя бы на конкретный код, где это реализовано.
Вот по FP моя тема, описано подробнее уже некуда:https://community.bablosoft.com/topic/8195/немного-расширить-функционал
там самое главное адаптация под пассивный отпечаток прокси.Вот по модулю таймзоны:
https://support.maxmind.com/geolite-legacy-discontinuation-notice/
Со 2 января 2019 они сделали коммерческую версию geolite-legacy2 и больше не поддерживают бесплатную версию (которая шас в BAS). Больше данных об IP и больше сведений.
Я конечно понимаю это версия стала теперь коммерческой, но считаю что она не так сильно вас разорит. В любом случае текущие базы данных будут постепенно устаревать и нужно будет искать какое-то новое решение.
