syntax.md 21 KB

                                        Добро пожаловать в Вики!

####Описание функций написано для версии 1.21, но большая часть будет работать и в предыдущих версиях ####Результат работы функции записывается в $result ####Если функция выполнилась успешно в $result запишется 1, 0 при ошибке. Про иные случаи будет написано отдельно ####Функции можно писать в любом регистре и без _ ####Если в переданных данных есть ошибка, то возвращается badRequest

Новые функции

Прокси

Поддерживаются http/socks5 прокси с авторизацией

Подключиться к http прокси. Вернёт 1 если прокси установлены. Вернёт 0 если протокол или число параметров указаны неправильно

[CBROWSER_COMMAND][$MODEL_NAME][SET_PROXY][http:1.2.3.4:80] 

с авторизацией

[CBROWSER_COMMAND][$MODEL_NAME][SET_PROXY][http:1.2.3.4:80:login:pass]

Подключиться к socks5 прокси. Возвращает как и для http

[CBROWSER_COMMAND][$MODEL_NAME][SET_PROXY][socks5:1.2.3.4:1080]

с авторизацией

[CBROWSER_COMMAND][$MODEL_NAME][SET_PROXY][socks5:1.2.3.4:1080:login:pass] 

Подключиться к сети TOR.

[CBROWSER_COMMAND][$MODEL_NAME][TOR][$TOR_port]

аналогичная запись

[CBROWSER_COMMAND][$MODEL_NAME][SET_PROXY][socks5:127.0.0.1:$TOR_port]

Отключиться от сети TOR

[CBROWSER_COMMAND][$MODEL_NAME][DEL_TOR]

Отключить прокси, всегда возращает 1 (>=v1.20)

[CBROWSER_COMMAND][$MODEL_NAME][OFF_PROXY]

аналогичная запись

[CBROWSER_COMMAND][$MODEL_NAME][PROXY_OFF]

аналогичная запись

[CBROWSER_COMMAND][$MODEL_NAME][SET_PROXY][none] 

Включить прокси, если они были отключены. Вернёт 0 если прокси не указаны и 1, если прокси удалось включить (>=v1.20)

[CBROWSER_COMMAND][$MODEL_NAME][ON_PROXY]

аналогичная запись

[CBROWSER_COMMAND][$MODEL_NAME][PROXY_ON]

Куки и кеш

Сохранение кук по стандартному пути(../save/cookies/)

[CBROWSER_COMMAND][$MODEL_NAME][SAVE_COOKIES][$domain||_fileName_]

если нужно дописать в файл, то в третьем параметре '1'

[CBROWSER_COMMAND][$MODEL_NAME][SAVE_COOKIES][$domain||_fileName_||1] - дописать в файл

Сохранение кук в произвольный файл

[CBROWSER_COMMAND][$MODEL_NAME][SAVE_COOKIES_TO_PATH][$domain||_fileName_]

если нужно дописать в файл, то в третьем параметре '1'

[CBROWSER_COMMAND][$MODEL_NAME][SAVE_COOKIES_TO_PATH][$domain||_fileName_||1]

Удалить куки для текущей вкладки

[CBROWSER_COMMAND][$MODEL_NAME][DELETE_ALL_COOKIES]

Установить директорию сохранения кеша для текущей вкладки по стандартному пути(../save/cacheChrom/)

[CBROWSER_COMMAND][$MODEL_NAME][SET_CACHE_DIR][_cache_dir_]

Установить директорию сохранения кук для текущей вкладки по стандартному пути(../save/coockieChrom/)

[CBROWSER_COMMAND][$MODEL_NAME][SET_COOKIE_DIR][_cook_dir_]

Указать произвольную директорию сохранения кеша текущей вкладки

[CBROWSER_COMMAND][$MODEL_NAME][SET_OWN_CACHE_DIR][/home/user/miniPoster/mydata_cache]

Указать произвольную директорию сохранения кук текущей вкладки

[CBROWSER_COMMAND][$MODEL_NAME][SET_OWN_COOKIE_DIR][/home/user/miniPoster/mydata_cook]

Задать куки из строки

Формат строки "домен|имя|значение|домен1|имя1|значение1|домен2|имя2|значение2|..." Функция вернёт(в $result) число добавленных кук. Если число параметров не совпадает, то вернёт -1

[CBROWSER_COMMAND][$MODEL_NAME][SET_COOKIES_FROMSTRING||домен|имя|значение|домен1|имя1|значение1|домен2|имя2|значение2|...]

Получить значение куки по имени

Если такого имени нет, то вернёт пустую строку

[CBROWSER_COMMAND][$MODEL_NAME][GET_COOKIE_VALUE_BY_NAME][_name_]

Получить значение куки по имени на указанном домене

Если такого имени нет, то вернёт пустую строку. В предыдущих версиях возращает 1, если имя не существует

[CBROWSER_COMMAND][$MODEL_NAME][GET_DOMAIN_COOKIE_VALUE_BY_NAME][_domain_||_name_]

аналогичная запись

[CBROWSER_COMMAND][$MODEL_NAME][GET_DOMAIN_COOKIE_BY_NAME][_domain_||_name_]

Получить куки для указанного домена

Результат будет в формате "домен|имя|значение|домен1|имя1|значение1|..."

[CBROWSER_COMMAND][$MODEL_NAME][GET_COOKIE_BY_DOMAIN][_domain_]

reCAPTCHA v2/v3, hCaptcha(>=v1.20)

Загрузить reCAPTCHA v2

[CBROWSER_COMMAND][$MODEL_NAME][V2][_URL_||_SITE_KEY_]

аналогичная запись

[CBROWSER_COMMAND][$MODEL_NAME][OPEN_URL][_URL_||_SITE_KEY_]

Загрузить reCAPTCHA v3

[CBROWSER_COMMAND][$MODEL_NAME][V3][_URL_||_SITE_KEY_]

Загрузить reCAPTCHA v3 с указанным action

[CBROWSER_COMMAND][$MODEL_NAME][V3][_URL_||_SITE_KEY_||_ACTION_]

аналогичная запись

[CBROWSER_COMMAND][$MODEL_NAME][OPEN_URL][_URL_||_SITE_KEY_||_ACTION_]

Загрузить hCaptcha >=v1.20

    [CBROWSER_COMMAND][$MODEL_NAME][HCAP][_URL_||_SITE_KEY_]

Получить ключ пройденной reCAPTCHA

Если капча не пройдена возращает пустую строку. Если капча не загружалась вернёт badRequest

[CBROWSER_COMMAND][$MODEL_NAME][RECAPTCHA_RESPONSE]

аналогичная запись

[CBROWSER_COMMAND][$MODEL_NAME][RR]

Получить ключ пройденной hCaptcha >=v1.20

Если капча не пройдена возращает пустую строку. Если капча не загружалась вернёт badRequest

    [CBROWSER_COMMAND][$MODEL_NAME][EVAL_JS][hcaptcha.getResponse()]

аналогичная запись, но работоспособность не гарантируется

[CBROWSER_COMMAND][$MODEL_NAME][RR]

##Страница

Загрузить сайт

[CBROWSER_COMMAND][$MODEL_NAME][OPEN][https://duckduckgo.com/]

аналогичная запись

[CBROWSER_COMMAND][$MODEL_NAME][OPEN_URL][https://duckduckgo.com/]

Автозагрузка изображений

Включено по умолчанию. Всё, что не 0 - включить

[CBROWSER_COMMAND][$MODEL_NAME][IMAGES][0]

Выполнить JavaScript на странице

Результатом будет последняя затронутая переменная. Если результат пустой, то вернет "empty result"

[CBROWSER_COMMAND][$MODEL_NAME][EVAL_JS][$script]

Дождаться загрузки страницы и продолжить выполнение шаблона

[CBROWSER_COMMAND][$NAME][WAIT_LOAD]

Проверить загружена ли страница

YES если загружена и NO если нет

[CBROWSER_COMMAND][$MODEL_NAME][IS_LOAD]

Включение логирования ошибок в JS (>=v1.21)

1 - включить, всё остальное - выключить

[CBROWSER_COMMAND][$MODEL_NAME][JS_ERROR_LOGGING][1]

Установить уровень логирования в JS (>=v1.21)

0 - информационные сообщения. 1 - предупреждения. 2 - ошибки. 3 - логировать всё сразу

[CBROWSER_COMMAND][$MODEL_NAME][JS_LOG_LEVEL][3]

Отобразить окно с ошибкой в JS (>=v1.21)

1 - включить, всё остальное - выключить. Окно будет появлятся даже если логирования ошибок отключено.

[CBROWSER_COMMAND][$MODEL_NAME][JS_ON_ERROR_ALERT][1]

Получить ошибки в JS (>=v1.21)

Если ошибок нет - вернёт пустую строку Формат следующий: {текст ошибки} : line {строка на которой ошибка}

[CBROWSER_COMMAND][$MODEL_NAME][JS_ERROR]
[DISPLAY][В браузере страшная ошибка: $result]

Очистить список ошибок JS (>=v1.21)

[CBROWSER_COMMAND][$MODEL_NAME][CLEAR_JS_ERRORS]

Сделать скриншот заданной области и сохранить под именем $file_name

[CBROWSER_COMMAND][$MODEL_NAME][SCREEN_SHOT][$file_name||x1:y1||x2:y2]

Изменить значение адресной строки без перезагрузки страницы(>=v1.33)

[CBROWSER_COMMAND][$MODEL_NAME][SET_URL][https://djoser-blog.ru/forum]

Нажать на элемент страницы с указанным id(>=v1.34)

[CBROWSER_COMMAND][$MODEL_NAME][ELEMENT_CLICK_BY_ID][element_id]

Нажать на элемент страницы с указанным классом(>=v1.34)

[CBROWSER_COMMAND][$MODEL_NAME][ELEMENT_CLICK_BY_CLASS][class_name]

Установить значение value у элемента страницы с указанным id(>=v1.34)

[CBROWSER_COMMAND][$MODEL_NAME][ELEMENT_SET_VALUE_BY_ID][element_id|value]

Установить значение value у элемента страницы с указанным классом(>=v1.34)

[CBROWSER_COMMAND][$MODEL_NAME][ELEMENT_SET_VALUE_BY_CLASS][class_name|value]

Установить значение innerHTML у элемента страницы с указанным id(>=v1.34)

[CBROWSER_COMMAND][$MODEL_NAME][ELEMENT_SET_INNER_HTML_BY_ID][element_id|inner_html]

Установить значение innerHTML у элемента страницы с указанным классом(>=v1.34)

[CBROWSER_COMMAND][$MODEL_NAME][ELEMENT_SET_INNER_HTML_BY_CLASS][class_name|inner_html]

Изменить значение заголовка Accept для языка(>=v1.33)

[CBROWSER_COMMAND][$MODEL_NAME][SET_ACCEPT_HEADER][text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8]

Значение по умолчанию: ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3

Эмуляция мыши

Клик левой кнопкой мыши в точку

[CBROWSER_COMMAND][$MODEL_NAME][LBUTTON_CLICK][x:y]

аналогичная запись

[CBROWSER_COMMAND][$MODEL_NAME][LBC][x:y]

аналогичная запись

[CBROWSER_COMMAND][$MODEL_NAME][MOUSE_EMULATION][LBUTTON_CLICK||x:y]

Клик правой кнопкой мыши в точку

[CBROWSER_COMMAND][$MODEL_NAME][RBUTTON_CLICK][x:y]

аналогичная запись

[CBROWSER_COMMAND][$MODEL_NAME][RBC][x:y]

аналогичная запись

[CBROWSER_COMMAND][$MODEL_NAME][MOUSE_EMULATION][RBUTTON_CLICK||x:y]

Зажать левую кнопку мыши в точке

[CBROWSER_COMMAND][$MODEL_NAME][LBUTTON_PRESS][x:y]

аналогичная запись

[CBROWSER_COMMAND][$MODEL_NAME][LBP][x:y]

аналогичная запись

[CBROWSER_COMMAND][$MODEL_NAME][MOUSE_EMULATION][LBUTTON_PRESS||x:y]

Отпустить левую кнопку мыши в точке

[CBROWSER_COMMAND][$MODEL_NAME][LBUTTON_RELEASE][x:y]

аналогичная запись

[CBROWSER_COMMAND][$MODEL_NAME][LBR][x:y]

аналогичная запись

[CBROWSER_COMMAND][$MODEL_NAME][MOUSE_EMULATION][LBUTTON_RELEASE||x:y]

Эмуляция движения мыши в заданную точку

[CBROWSER_COMMAND][$MODEL_NAME][MOUSE_MOVE][x:y]

аналогичная запись

[CBROWSER_COMMAND][$MODEL_NAME][MOUSE_EMULATION][MOUSE_MOVE||x:y]

Полосы прокрутки

Прокрутить страницу по вертикали на заданное расстояние из текущего положения

[CBROWSER_COMMAND][$MODEL_NAME][SCROLL_Y][500]

можно указывать и отрицательные числа, чтобы скролить вверх

[CBROWSER_COMMAND][$MODEL_NAME][SCROLL_Y][-400]

Установить вертикальной полосе прокрутки определенное значение

[CBROWSER_COMMAND][$MODEL_NAME][SCROLL_TO_Y][1200]

Получить текущее значение полосы прокрутки по вертикали

[CBROWSER_COMMAND][$MODEL_NAME][SCROLL_Y_POSITION]

Получить максимальное значение полосы прокрутки по вертикали

[CBROWSER_COMMAND][$MODEL_NAME][SCROLL_Y_MAX]

Прокрутить страницу по горизонтали на заднное растояние

[CBROWSER_COMMAND][$MODEL_NAME][SCROLL_X][500]

можно указывать и отрицательные числа, что скролить влево

[CBROWSER_COMMAND][$MODEL_NAME][SCROLL_X][-400]

Прокрутить страницу по горизонтали до определенной длины

[CBROWSER_COMMAND][$MODEL_NAME][SCROLL_TO_X][700]

Получить текущее значение полосы прокрутки по горизонтали

[CBROWSER_COMMAND][$MODEL_NAME][SCROLL_X_POSITION]

Получить максимальное значение полосы прокрутки по горизонтали

[CBROWSER_COMMAND][$MODEL_NAME][SCROLL_X_MAX]

2D ускорение

Включит 2d ускорение. Включено по умолчанию

[CBROWSER_COMMAND][$MODEL_NAME][ENABLE_ACCELERATION]

Выключит 2d ускорение

[CBROWSER_COMMAND][$MODEL_NAME][DISABLE_ACCELERATION]

Окно

Изменить заголовок окна на переданный текст

[CBROWSER_COMMAND][$MODEL_NAME][SET_WINDOW_TITLE][Заголовок!]

Установить произвольный UserAgent в браузере

[CBROWSER_COMMAND][$MODEL_NAME][SET_USERAGENT][_custom_user_agent]

Изменить размер окна

[CBROWSER_COMMAND][$MODEL_NAME][SET_WINDOW_SIZE][1280:1024]

можно указывать и отрицательные числа. В этом случае, размер будет уменьшен на заданные значения

[CBROWSER_COMMAND][$MODEL_NAME][SET_WINDOW_SIZE][-50:-200]

Изменить положение окна

[CBROWSER_COMMAND][$MODEL_NAME][SET_POSITION][500:800]

можно указывать и отрицательные числа. В этом случае, размер будет уменьшен на заданные значения

[CBROWSER_COMMAND][$MODEL_NAME][SET_POSITION][-20:-254]

Проверить включен ли JavaScript в браузере

[CBROWSER_COMMAND][$MODEL_NAME][IS_JS]

Включить JavaScript на вкладке

[CBROWSER_COMMAND][$MODEL_NAME][ENABLE_JS]

Выключить JavaScript на вкладке

[CBROWSER_COMMAND][$MODEL_NAME][DISABLE_JS]

Получить текущий url

[CBROWSER_COMMAND][$MODEL_NAME][GET_URL]

Проверка наличая пикселя в заданной области

Первые два чила - кординаты левого верхнего угла, вторые два - правый нижный

[CBROWSER_COMMAND][$MODEL_NAME][PIXEL_EXISTS][12:40||50:60||#66ff99]

Установить произвольную HTML страницу

[CBROWSER_COMMAND][$MODEL_NAME][SET_HTML][<script>alert("html страница загружена в браузер!");</script>]

Установить произвольную HTML страницу, для указанного домена. Функция позволяет подгружать сторонние формы решения каптч

[CBROWSER_COMMAND][$MODEL_NAME][SET_HTML][_HTML_||_BASE_URL_]

Получить HTML-код страницы

[CBROWSER_COMMAND][$MODEL_NAME][GET_HTML]

Закрыть браузер

[CBROWSER_COMMAND][$MODEL_NAME][CLOSE]

аналогичная запись

[CBROWSER_COMMAND][$MODEL_NAME][CLOSE_WINDOW]

Свернуть браузер

[CBROWSER_COMMAND][$MODEL_NAME][WINDOW_MINIMAZE]

Развернуть браузер на весь экран

[CBROWSER_COMMAND][$MODEL_NAME][WINDOW_MAXIMIZED]

Обычное состояние браузера

[CBROWSER_COMMAND][$MODEL_NAME][WINDOW_RESTORE]

Загрузить следующую страницу из истрории текущей владки

[CBROWSER_COMMAND][$MODEL_NAME][FORWARD]

Загрузить предыдущую страницу из истрории текущей владки

[CBROWSER_COMMAND][$MODEL_NAME][BACK]

Перезагрузить текущую вкладку

[CBROWSER_COMMAND][$MODEL_NAME][RELOAD]

Скрыть нижнюю панель

[CBROWSER_COMMAND][$MODEL_NAME][HIDE_BAR]

Показать нижнюю панель

[CBROWSER_COMMAND][$MODEL_NAME][SHOW_BAR]

Проверить видна ли нижняя панель

[CBROWSER_COMMAND][$MODEL_NAME][IS_BAR]

Аббревиатуры и сокращения

V2 - загрузить страничку для решения reCAPTCHA2

V3 - загрузить страничку для решения reCAPTCHA3

RR - получить ключ reCAPTCHA

LBC - клик левой кнопкой мыши в точку

RBC - клик правой кнопкой мыши в точку

LBP - зажать левую кнопку мыши в точке

LBR - отпустить левую кнопку мыши в точке

MINIMAZE - свернуть браузер

RESTORE - обычное состояние браузера

MAXIMIZE - развернуть браузер на весь экран

CLOSE - закрыть браузер

Работа с вкладками

####Работа с вкладками осуществляется через указание id нужной вкладки. Если он не передан, то команды выполняются над текущей вкладкой

Добавить вкладку

В $result запишется id созданной вкладки

[CBROWSER_COMMAND][$MODEL_NAME][ADD_TAB]
[DISPLAY][Новая вкладка получила id = $result]

Добавить вкладку с заданным именем

[CBROWSER_COMMAND][$MODEL_NAME][ADD_TAB][$name]
[DISPLAY][Новая вкладка с именем $name имеет id = $result]

Закрыть вкладку по id

[CBROWSER_COMMAND][$MODEL_NAME][CLOSE_TAB]      id не указан -> закроет текущую вкладку

закрыть вкладку по её id

[CBROWSER_COMMAND][$MODEL_NAME][CLOSE_TAB][_id_]

Закрыть вкладку по её имени (>=v1.3)

[CBROWSER_COMMAND][$MODEL_NAME][CLOSE_TAB_BY_NAME][_name_]

Получить id текущей вкладки

[CBROWSER_COMMAND][$MODEL_NAME][GET_TAB_ID]
[DISPLAY][Текущая вкладка имеет id = $result]

Получить id всех вкладок (>=v1.21)

Возвращает список id в формате "1|2|3|4", если вкладок нет - вернёт пустую строку

[CBROWSER_COMMAND][$MODEL_NAME][GET_IDS]
[DISPLAY][id вкладок = $result]

Получить число вкладок

[CBROWSER_COMMAND][$MODEL_NAME][GET_TAB_COUNT]
[DISPLAY][Открыто $result вкладок]

Переключиться на вкладку с указанным id

[CBROWSER_COMMAND][$MODEL_NAME][TAB_FOCUS][5]
[DISPLAY][Вкладка с id = 5 стала активной]

Переключиться на вкладку с указанным именем (>=v1.3)

[CBROWSER_COMMAND][$MODEL_NAME][TAB_FOCUS_BY_NAME][_name_]
[DISPLAY][Вкладка с именем _name_ стала активной]

Проверить открыта ли вкладка с указанным id

[CBROWSER_COMMAND][$MODEL_NAME][IS_TAB_EXISTS][5]

Проверить открыта ли вкладка с указанным именем

[CBROWSER_COMMAND][$MODEL_NAME][IS_TAB_NAME_EXISTS][$name]

Остальные команды тоже поддерживают работу с вкладками, id указывается перед командой

[CBROWSER_COMMAND][$MODEL_NAME][$id||SCREEN_SHOT][screen||20:90||120:220]