1. Свойство
"_PJS" (только чтение) - содержит ссылку на инициализированный объект фантома (рудоментальное свойство, так и не придумал, где его использовать)
"URL" (только чтение) - содержит адрес открываемой страницы
"IDSite" (Чтение / Запись) - используется для идентификации ошибки. Было замечено, что при работе с "ВК" 1С возвращает ошибки обработки, только при завершении работы процедуры. Т.е. как только 1С отдаст контроль над формой пользователю, и только тогда вы увидите все ошибки. Но до тех пор, пока выполняется процедура, вы ошибок своей "ВК", так и не увидите.
(Заголовок ошибок предоставляется в следующем виде: "error/" + _IDSite + "/" + DateTime.Now.ToString())
2. Методы
"Initialization_Bot(Path_PJS)" - Инициализация фантома.
Параметр "Path_PJS" - Строка содержащая путь к папке с файлом "phantomjs.exe". (Путь не содержит сам файл, только путь к файлу!)
При передачи в качестве параметра строку: "ChromeDriver" или "InternetExplorerDriver", то будет использован соответствующий дайвер.
Драйвера "ChromeDriver" или "InternetExplorerDriver" использую соответствующий браузер, и парсинг страниц выполняется уже визуально в окне браузера.
п.с. драйвер "InternetExplorerDriver" пока в разработке.
"WindowMaximize_Bot()" - Разворачивает "браузер" фантома на полный экран. (Если окно не развернуть, то не все элементы обрабатываются при парсинге)
"Close_Bot()" - Закрывает и уничтожает объект фантома (Закрытие фантома, деструктор фантома).
"SetCookie_Bot(name, value, domain, path, Data)" - Добавление Cookie.
Параметры:
name - Имя кука
value - значение кука (строка)
domain - имя домена (Пример: releases.1c.ru)
path - путь к ресурсу (Пример: "/" или "/sd", зависит от ресурса.)
Data - Текстовое представление даты (Ограничено функцией "convert.todatetime c#")
"SetCookie2_Bot(Cookie)" - Добавление Cookie по ссылке на объект "Cookie". Параметр "Cookie" содержит ссылку на объект типа "Cookie".
"GetCookies_Bot()" - Получить список ВСЕХ Cookie. Возвращает список. (Список в терминах C#)
"ClearCookie_Bot()" - Удалить ВСЕ Cookie
"GetCookieName_Bot(Cookie)" - Получить имя Cookie. Параметр "Cookie" содержит ссылку на объект типа "Cookie". Возвращает строку.
"GetCookieValue_Bot(Cookie)" - Получить значение Cookie. Параметр "Cookie" содержит ссылку на объект типа "Cookie". Возвращает строку.
"GetCookieDomain_Bot(Cookie)" - Получить имя домена Cookie. Параметр "Cookie" содержит ссылку на объект типа "Cookie". Возвращает строку.
"GetCookiePath_Bot(Cookie)" - Получить путь Cookie. Параметр "Cookie" содержит ссылку на объект типа "Cookie". Возвращает строку.
"GetCookieSecure_Bot(Cookie)" - Получить признак безопасности Cookie. Параметр "Cookie" содержит ссылку на объект типа "Cookie". (Возвращает тип Булево)
"GetCookieExpiry_Bot(Cookie)" - Получить дату Cookie. Параметр "Cookie" содержит ссылку на объект типа "Cookie". (Возвращает тип "строка")
"Navigate_Bot(URL)" - Переход по адресу ссылки, т.е. открыть нужную страницу. Параметр "URL", содержит текст адреса страницы. Т.к. Фантом работает асинхронно, то нужно использовать паузу при открытии страницы.
"PageSource_Bot()" - Получить текст открытой страницы. (При получении страницы, некоторые ссылки на ресурсы сайта используют относительный путь, т.е. нужно будет дописывать ссылку, что бы все работало в офф-лайне). Возвращает строку.
"SaveAsFileJpeg_Bot(PathFile)" - Сохранить скрин-шот в файл в формате "Jpeg". Параметр "PathFile" содержит полный путь к записываемому файлу. (Если вам нужен другой формат, то библиотечку вам придется перекомпелировать)
"Pause(S)" - Вызвать паузу, в секундах. Параметр "S" должно содержать целое число.
"FindElement_Bot(strFind, Metod)" - Найти элемент по методу. Параметр "strFind" содержит строку, метод которого будет искаться. (Например ищем "class="common-container"", то и указать надо "common-container"). Возвращает элемент страницы. Если не найден, то вернет "Неопределено" (в 1С).
Параметр "Metod" должен содержать следующие значения (регистр букв важен!):
"Id" - Поиск по ИД
"Name" - Поиск по имени
"ClassName" - Поиск по имени класса
"TagName" - Поиск по имени тэга
"CssSelector" - Поиск по Css selector
"LinkText" - Поиск по представлению элемента
"PartialLinkText" - Поиск по части представления элемента
"XPath" - Поиск по "XPath" ("thead/tr/th" или "//*[@class='T-I J-J5-Ji T-I-KE L3']")
Если указать любое другое представление "Метод-а", то будет выполнен поиск по "Id".
"FindNextElement_Bot(webElement, strFind, Metod)" - Найти следующий элемент, в найденном, по методу. Параметр "webElement", элемент выступающий в качестве родителя поиска других элементов. Параметр "Metod", такой же, как и в "FindElement_Bot". Возвращает элемент. Если не найден, то вернет "Неопределено" (в 1С).
"FindElements_Bot" - Найти элементы, аналогичен "FindElement_Bot". Возвращает список (в терминах C#, прошу не путаться, в 1С это будет КомОбъект). Если элементы не найдены, то вернет пустой список (#C).
"FindNextElements_Bot(webElement, strFind, Metod)" - Найти элементы в элементе, аналогичен "FindElements_Bot".
"ClearElement_Bot(webElement)" - Очищает содержимое элемента. К примеру, если это текстовый блок, то будет очищен весь текст.
"ClickElement_Bot(webElement)" - Посылает команду элементу команду "Click". (Нажатие на ссылку, кнопку и т.д...)
"SubmitElement_Bot(webElement)" - Кликнуть на элемент (во фрейме). (Команда "Submit")
"GetAttributeElement_Bot(webElement, attributeName)" - Получить содержимого атрибута элемента, к примеру "InnerHTML", "src", "href" и т.д. Возвращает строку. Если атрибут не удастся получить, то вернет пустую строку.
"GetCssValueElement_Bot(webElement, propertyName)" - Получить Css элемента. Возвращает строку.
"SendKeysElement_Bot(webElement, text)" - Ввод текста, или как написал разработчик, послать набор клавиш элементу. DLL написана для ввода текста, но если нужно можно отправлять комбинации клавиш или служебные клавиши, такие как "Enter", "Esc" и т.д. (нужно доработать DLL, что в ваших силах). Параметр "text" строка, которую надо передать элементу.
"ElementToElement_Bot(webElement, webElement2)" - Проверяет, принадлежит ли элемент элементу. Возвращает Булево.
"TagNameElement_Bot(webElement)" - Получить тэг элемента. Возвращает строку.
"innerTextElement_Bot(webElement)" - Получить "innerText" элемента. Из представления элемента убираются начальные и конечные пробелы. Возвращает строку.
"IsNull(element)" - Проверка, содержит ли переданный объект Null или что-то полезное. Возвращает булево. (Проверка на NULL)
"IsWebElement(element)" - Проверка, содержит ли переданный объект, вэб-элемент фантома. Возвращает булево.
"IsCookie(element)" - Проверка, является ли объект куком. Возвращает булево.
"IsList(element)" - Проверка, является ли объект листом (C#). Возвращает булево.
"GetCountList(element)" - Получить размер массива List. Возвращает число.
"GetObjectList(element, Nomber)" - Получить элемент из списка. Параметр "element" список (обрабатывает любой список). Параметр "Nomber" номер элемента, начинаются с нуля. Возвращает элемент списка. (Если это список Элементов страницы, то вернет элемент страницы, если куки, то вернет кук)
"SetEventBufferDepth(depth)" - Установка размер списка ошибок DLL, который будет передан 1С при окончании работы. По умолчанию там всегда единица, но я выставлял до 1000 и неплохо так получал весь список всех ошибок DLL.
"GetEventBufferDepth()" - Получить текущий размер списка ошибок DLL. Возвращает число.
"CleanBuffer()" - Очистить все ошибки DLL.
"Test(int Param1, int Param2)" - простая проверка на функционирование DLL. (Рундоментальная процедура, которая сохранилась из шаблона ВК)