Выпущена 22.0.0 версия BrowserAutomationStudio



  • Функции теперь имеют параметры и возвращаемое значение.

    Добавлены действия Получить Параметр Функции и Return.

    Задать список параметров и их описание можно в менеджере функций

    Теперь одну и ту же функцию можно вызывать с разными параметрами, что упростит повторное использование кода.

    Новые действия содержат интерактивную документацию, подробности можно узнать там.

    https://i.imgur.com/SVBgXMU.png


    Менеджер функций.

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

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

    Добавлена возможность поиска функций и задание параметров.

    Основное окно:

    https://i.imgur.com/KnYDHYD.png

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

    https://i.imgur.com/BQYaUF8.png

    Действия Получить Параметр Функции и Return добавляются в редактор скрипта автоматически.


    Расширение API для веб интерфейса.

    Добавлено множество методов, которые можно вызывать из веб интерфейса.

    Методы для взаимодействия с системным окном:

    • MoveWindow - смена положения окна.

    • ResizeWindow - изменение размеров окна.

    • Api.OpenFileDialog, Api.SaveFileDialog - вызов системного диалога выбора файла.

    • ShowNotification - показ системных уведомлений в трее.

    • OpenUrl - посещение заданного url, открытие файла или программы.

    Больше подробностей можно узнать здесь:

    https://wiki.bablosoft.com/web-interface/#/interactingnativewindow

    Все генерируемые диалоги для выбора файла были заменены на нативные.

    https://i.imgur.com/Iss73z7.gif

    Добавлено синхронное API для работы с файловой системой. Сюда входит: чтение/запись файлов, работа с папками.

    Больше подробностей можно узнать здесь:

    https://wiki.bablosoft.com/web-interface/#/filesystem

    Начальные размеры окна можно задать прямо в его настройках:

    https://i.imgur.com/wj8kGHp.png


    Создавать интерфейс теперь можно с нуля.

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

    При создании и генериции интерфейса можно выбрать его тип:

    https://i.imgur.com/bTpT9dM.png

    Появилась возможность сохранять изменения прямо из редактора кода и вообще не заходить в визуальный редактор интерфейса.

    Новый тип интерфейса заставляет 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:

    https://wiki.bablosoft.com/lib/exe/fetch.php?cache=&media=2019-07-30_13-45-27.gif


    Приложение ParseGoogle. Демонстрация функционала.

    Было создано новое приложение ParseGoogle. Оно парсит выдачу по заданному запросу.

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

    https://wiki.bablosoft.com/lib/exe/fetch.php?cache=&media=userinterface_2019-08-23_12-02-56.png

    Конечно же, все это сделано на 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


    Улучшения интерфейса

    Внешний вид редактора скриптов был переработан.

    Добавлена визуализация меток, метки можно создавать перетаскиванием специального элемента управления:

    https://i.imgur.com/N3THYzZ.gif

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

    https://i.imgur.com/zKreKpT.png

    В нее можно попасть нажав на кнопку по центру, справа в редакторе скрипта.

    Справка содержит описание для каждой группы(циклов, условий, парсинга и т .д.), с основными принципами работы.

    Там также находятся основные действия и примеры использования.

    Был обновлен инспектор переменных - теперь он показывает состояние ресурсов, его размер может быть изменен.

    https://i.imgur.com/EcK7lXf.png

    Переход к функции может быть осуществлен по клику на названии функции в действии "Вызов функции".

    Место для активной вставки действия не изменяется при редактировании скрипта.

    Описание действия сохраняется вместе с сохранением данных.

    Верхняя панель в редакторе скрипта была заменена на меню.

    Вместо задания количества успешных и неудачных выполнений теперь можно выбрать "Повторять"

    Обзор нового интерфейса можно найти в этом видео:

    https://www.youtube.com/watch?v=z6iTuFyL9CA


    Исправление ошибок

    • Планировщик не перестает работать при питании от аккумулятора.
    • Исправлено решение рекапчи если функция ответа является строкой.
    • Исправлено падение при сворачивании веб интерфейса в трей на Windows 10.
    • При отсутствии информации о кодировке почтового сообщения, BAS не подразумевает что письмо закодировано в quoted printable.
    • Исправлено падение при установке скорости мыши из строки.
    • Исправлено смешивание ресурсов если планировщик запускает одинаковые проекты одновременно.


  • У меня одного праздник когда обнова выходит?



  • Копировать функцию из проекта в проект по старинке пока?
    upd: увидел, из видео что это будет в новой версии...



  • @support said in Выпущена 22.0.0 версия BrowserAutomationStudio:

    Это самое грандиозное обновление, пожалуй после добавления самого веб интерфейса. Асинхронный запуск функций BAS'a из интерфейса просто развязывает руки, я уйму костылей создавал, чтобы эмулировать такое поведение в проектах.

    Есть пара пожеланий по интерфейсу, например дать возможность добавлять избранные действия в рабочую зону (где сейчас справка):
    0_1566587162266_c18849c1-9ca6-48a8-8fdd-9c0e62821c3c-изображение.png
    Хотя бы на 3-4 действия.


    И частенько просят дать возможность отделения инспектора переменных в отдельное окно или как вкладку с "результатом" и "логом":
    0_1566587350558_250249c9-bb9d-4d73-b58b-9b5bfe82beaf-изображение.png



  • В меню функций не хватает возможности "закрепить" выбранную функцию вверху списка. И хорошо бы закрепить функции Main и OnApplicationStart вверху "по умолчанию"



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



  • Так же хочу высказаться по поводу "описания" к функции. Сейчас оно делается внутри редактирования функции и посмотреть его можно исключительно там, что не очень удобно. Не знаю, планируются ли изменения автором, но не плохо было бы позволить смотреть описание прямо из внешнего блока. Примерное представление я нафотошопил на картинке ниже:
    0_1566614819050_Untitled-3.png



  • Не переведено и заезжает одно на другое))

    0_1566607955576_2019-08-24_035154.jpg



  • Необязательно же обновлять старый скомпилированный проект клиентам?



  • @mrhensley, необязательно



  • Ничего интересного, даже качать не буду.

    Там пора бы реально делами заняться:
    1)Улучшить анонимность, там уже новые методы появились определения.
    2)Модуль IMAP вообще нуждается в полной замене с нуля.
    3)По профилям там есть где копнуть.
    4)FP Switcher функционал бы добавить/расширить.
    5)Модуль джосна добавить пора бы
    6)Базу данных прокси обновить (Сведения об IP), там с НГ вышел расширенный функционал у тех ребят. Больше инфы об IP отдает. Не ну реально бесит этот IP_INFO_VALID - FALSE.



  • @fastspace По поводу анонимности это точно, cам BAS каким-то образом виден разным сервисам, например стримминговым сайтам, получается такие монстры, как гугл и фейсбук уж точно его распознают



  • @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: увидел, из видео что это будет в новой версии...

    В новой версии будет обновлена система модулей. Будет возможность:

    1. Создавать свой модуль из проекта со списком функций.
    2. Устанавливать модули на свою версию БАС.
    3. Делиться модулями.
    4. Использовать модули в скомпилированных приложениях.


  • @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 и больше сведений.
    Я конечно понимаю это версия стала теперь коммерческой, но считаю что она не так сильно вас разорит. В любом случае текущие базы данных будут постепенно устаревать и нужно будет искать какое-то новое решение.


Log in to reply