Лайфхаки BAS



  • Всем привет, решил набросать кое-какие очевидные для профессионалов, но не особо для новичков вещи, буду пополнять по мере поступления.

    1. Рандомизация через
    [[SPINTAX_RESULT]] = _spintax("{Привет|Как дела}")
    
    
    1. Для очистки файла записываем в него в режиме expression
    ''
    
    1. Команды для браузера в Браузер:яваскрипт

    Обновить

    location.reload()
    

    Назад

    history.back()
    
    1. Цветной лог
    log_html("<span style='color:yellow'>ТЕКСТ</span>","ТЕКСТ")
    
    1. Многоуровневый лог. Делаем ресурс Log и в нем выбор Да или Нет. Затем, где выводим лог вставляем IF (чтобы когда нужно отображать лог его отображать, когда не нужно не отображать). Так можно настроить вывод нескольких типов логирования. То есть, когда нужно включаем подробный лог, когда не нужно менее подробный
    {{log}} == "Да"
    
    1. Расставляем через лог после каждого действия цифры от 1 по возрастанию, таким образом в режиме многопоточного запуска через лог быстро понимаем где затык. Хотя, конечно, можно как-то это увидеть по умному, наверное.
    2. Чтобы сайты воспринимали браузер русским, Установить заголовок, Имя заголовка "Accept-Language" и значение ru-ru,ru;q=0.8
    3. Ручной режим. Чтобы работать в ручном режиме, то есть без сохранения действий в коде (доступно только в режиме записи) рекомендую создать отдельную функцию (для того чтобы случайно не загрязнить код) и при создании действий ставить кнопку на Только выполнить. В BAS встроена функция ручного режима
    4. Вместо CSV файлов используем TSV https://ru.wikipedia.org/wiki/TSV . Это позволяет не экранировать запятые, которые могут использоваться в таблицах. TSV файлы поддерживают Google таблицы. Открывать лучше через Notepad++
    5. После выхода крупного обновления BAS (которое имеет пост на форуме) рекомендуется не обновляться минимум неделю, мониторя форум и чаты BAS на предмет минорных обновлений, как правило появляются различные корректирующие обновления. Это важно, так как иногда новое крупное обновление может привести к неработоспособности проекта.
    6. Как скачать предыдущую версию BAS? Меняете в ссылке версию на какую хотите (список версий можно посмотреть по заголовкам тем в разделе форума Bablosoft News) и качаете. Например: http://bablosoft.com/distr/BrowserAutomationStudio/21.8.0/BrowserAutomationStudioInstallAllInOne.exe Кроме того предыдущие версии BAS не удаляются и хранятся в %DISK%:\Users\Administrator\AppData\Roaming\BrowserAutomationStudio\apps Оттуда Вы можете удалив папку с новой версией откатиться к старой. Либо, если не хватает места на диске удалить какие-то из старых версий
    7. Подключение разных программ на BAS к разным VPN соединениям https://toster.ru/q/290396
    8. Взаимодействие с командной строкой.
      "Управление процессами" - "Запустить процесс". Через это действие можно запускать команды для командной строки и batch файлы.
      Powershell web Access позволяет запустить командную строку через браузер, плюсом является поддержка возможности при взаимодействии с консолью сохранять сессию реагируя на те или иные ответы на команды и ошибки http://go.microsoft.com/fwlink/?LinkID=221050
    9. Интеграция с языками программирования. Используя командную строку (смотри пункт 13) можно интегрировать BAS с любыми языками программирования, которые принимают команды через командную строку. Также помимо действия "Запустить процесс" взаимодействовать с командной строкой можно через Powershell Web Access. Обмениваться переменными со средой языка программирования можно при помощи:
      Стандартный вывод процесса -опция в действии "Запустить процесс", позволяет получить данные, которые появились в результате выполнения команд в командной строке, затем распарсив через регулярные выражения можно сохранить данные в переменную,
      Вывод процесса с ошибками -при помощи этой переменной можно делать отладку
      Сохранение результатов работы в файлы, которые затем можно использовать
      Сохранение результатов работы в базы данных (как встроенную MongoDB, так и в другие). У большинства языков программирования существуют готовые пакеты для работы с базами данных.
      Также можно встроить язык программирования в BAS. Вот инструкция
    10. Модуль парсинга JSON. Позволяет извлекать информацию из JSON, текстового формата данных, который использует JS. Данный формат часто используется различными сервисами которые дают API. Модуль позволяет сильно облегчить работу с JSON. Тема на форуме. Документация.
    11. Бесконечный цикл, можно реализовать как при помощи меток (ставя в начале скрипта метку и в конце переход к ней), так и поместив в цикл While и написав в качестве условия цикла значение true (через цикл является наиболее оптимальным)


  • Добавлю так же полезную штуку - прогрессбар.

    progress_maximum(100)
    progress_value(10)
    

    Выглядит это так
    http://prntscr.com/i0fpa3



  • function _sa(id)
    {
    log(id)
       ScriptWorker.SetCurrentAction(id)
    }
    

    После этого когда в лог начинают выводиться id всех выполняемых действий. Потом можно однозначно прочесть последовательность всего произошедшего. Помогало мне жесткие баги отлавливать.
    Лучше включать только для дебага! (если действий много в скрипте).

    @romanbiz, я так понимаю, что это твой пункт 6 "по-умному".



  • @Antonio благодарю, добавлю в список.



  • Ещё фишку вспомнил.

    Вот таким кодом можно создать функцию, которая будет отображаться в списке экшена "Вызов функции", но не будет видна в списке функций внизу в левой части экрана (под кубиками).

    function TIMENOW() {
    var lt = new Date()
    VAR_TIMENOW = lt.toLocaleTimeString()
    }
    
    

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

    Раунд.



  • @DrPrime said in Лайфхаки BAS:

    Добавлю так же полезную штуку - прогрессбар.

    progress_maximum(100)
    progress_value(10)
    

    Выглядит это так
    http://prntscr.com/i0fpa3

    Круто! Не знал что так можно) Кинь с примерчиком пожалуйста, а то не догнал как реализовать на деле)





  • UPDATE: Добавлен пункт 8. Ручной режим





  • раз пошла такая пьянка, то вот и от меня немножк. Как описать хз, смотрите видос, типа снипеты
    ну и еще, сортировка списка по нужно части строки. когда записывал забыл совсем об этом)

    VAR_LIST.sort(function(a,b){
    a = csv_parse(a);
    b = csv_parse(b);
    return a[3]-b[3];
    });
    


  • This post is deleted!


  • `@Antonio said in Лайфхаки BAS:

    function _sa(id)
    {
    log(id)
       ScriptWorker.SetCurrentAction(id)
    }
    

    После этого когда в лог начинают выводиться id всех выполняемых действий. Потом можно однозначно прочесть последовательность всего произошедшего. Помогало мне жесткие баги отлавливать.
    Лучше включать только для дебага! (если действий много в скрипте).

    @romanbiz, я так понимаю, что это твой пункт 6 "по-умному".

    @Antonio ,Как это деактевировать ?



  • @Rusbear Удали функцию и всё.

    _sa = null;
    


  • @Fox

    TypeError: Result of expression '_sa' [null] is not a function. во время выполнения действия 630369084
    


  • @Rusbear Можно по другому:

    function _sa(id){}
    

    Вот тестовый скрипт.



  • А может кто подсказать, как реализовать в спинтаксе замену русских букв на любые символы, в т.ч. и на аналогичные латинские?
    Например, в файле спинтакса прописано: {Пр{и|u}в{е|e}{т|m}|Хай|Здаров} ... как можно "на лету" подставлять замену букв на нужные символы?
    Был бы признателен за подсказку )



  • @Inwnew Не знаю такого способа. Можно через выполнить код. Создать объект свойством которого будут русские буквы, а значением этих свойств символы для подстановки. И потом используя этот объект побуквенно перебирать фразу которая вышла из спинтакса и создавать новую.

    А вообще есть раздел форума поддержка для вопросов, а тут люди делятся лайфхаками!



  • Есть прикол, для лайфхака не дотягивает, но поделится хочется :D
    В функцию log_html() можно вставить не только вывод цветного текста, но и многие другие html теги. Ссылки, картинки, таблицы..

    Например в выполнить код:

    log_html('<center> <table width="600" height="400" border="1"> <tr> <td colspan="2"><center>Заголовок</center></td> </tr> <tr> <td valign="top">содержание:</td> <td valign="top"> <center> <br><br> В одну ячейку вложена целая таблица!! <br><br><br> <table width="200" height="200" cellspacing="0" cellpadding="15"> <tr> <td bgcolor="#c0e4ff" valign="top">1</td> <td bgcolor="#c5ffa0" valign="top"><center>2</center></td> <td bgcolor="#c0e4ff" align="right" valign="top">3</td> </tr> <tr> <td bgcolor="#c5ffa0">4</td> <td bgcolor="#ffa0c5"><center>5</center></td> <td bgcolor="#c5ffa0" align="right">6</td> </tr> <tr> <td bgcolor="#c0e4ff" valign="bottom">7</td> <td bgcolor="#c5ffa0" valign="bottom"><center>8</center></td> <td bgcolor="#c0e4ff" align="right" valign="bottom">9</td> </tr> </table> </center> </td> </tr> </table> </center>')
    

    Выдаст такую таблицу в логе
    0_1525189160264_на форум 27.png


    По факту можно всю страницу браузера отобразить в логе, без стилей и картинок только:

    log_html([[SAVED_PAGE_HTML]]);
    

    Чтобы отобразить картинку, она должна быть либо в Base64 либо скачена:

    log_html('<img src="C:/test/2/31.jpg">')
    

    0_1525189882140_на форум 28.png


    А с Base64 можно сделать забавные вещи:
    0_1525190234520_на форум12.gif

    Вот скрипт с анимированным парнем в логе :D



  • Использовать можно по разному, например выводить аватарку аккаунта прямо в лог. Или создать анимированную превьюшку со своим логотипом :D, как знак качества.



  • Ещё html теги можно исопльзовать в описании ресурсов, с такими же ограничениями, как и с log_html()
    Ограничение длины описания 32 767 символов, значит небольшие картинки в base64 можно установить без переноса файлов:

    <img src="data:image/png;base64,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" width="50" height="52" alt="внедренная иконка папки"/>
    

    0_1525191556798_на форум 29.png


    Если картинка большая, можно указать ссылку на файл:

    <img src="C:/test/2/31.jpg" width="100" height="100" alt="моя аватарка"/>
    

    0_1525191884048_на форум 30.png

    Вот проект


Log in to reply
 

  • 15
  • 10
  • 2
  • 4
  • 4
  • 3
  • 3
  • 8