Управление группой сессии
Для получения/изменения информации по группе в API программы реализованы следующие методы:
spyBrowser.session.getGroupAsync()
— получение текущей группы сессииspyBrowser.session.setGroupAsync(newValue)
— изменение текущей группы сессии
Пример получения текущей группы сессии:
spyBrowser.events.on("scriptLoadComplete", async function () { var group = await spyBrowser.session.getGroupAsync(); alert("Сессия входит в группу " + group); });
Примеры изменения текущей группы сессии:
spyBrowser.events.on("scriptLoadComplete", async function () { await spyBrowser.session.setGroupAsync("Новая группа"); });
Управление комментариями к сессии
Для получения/изменения информации по комментариям в API программы реализованы следующие методы:
spyBrowser.session.getCommentsAsync()
— получение комментариев к текущей сессииspyBrowser.session.setCommentsAsync(newValue)
— изменение комментариев к текущей сессии
Пример получения комментариев к текущей сессии:
spyBrowser.events.on("scriptLoadComplete", async function () { var comments = await spyBrowser.session.getCommentsAsync(); alert("Комментарии к сессии " + comments); });
Пример изменения комментариев к текущей сессии:
spyBrowser.events.on("scriptLoadComplete", async function () { await spyBrowser.session.setCommentsAsync("Новые комментарии"); });
Комментарии к сессиям сами по себе являются удобным инструментом, который можно использовать для хранения любой информации при работе с сайтом. Среди этой информации могут быть логины, пароли, номера телефонов, платёжные реквизиты и другие важные данные. Переходим к следующему разделу и смотрим как можно это использовать.
Пишем скрипт авторизации на сайте olx.ua
В текущих версиях программы менеджер аккаунтов для сайта olx.ua не реализован, поэтому рассмотрим на примере этого сайта принцип авторизации с помощью скрипта.
Откроем в браузере страницу входа на сайт:
https://www.olx.ua/account/
Посмотрим на исходный код страницы:

Нас интересуют следующие элементы:
- поле ввода логина
input
,id
которого равен"userEmail"
- поле ввода пароля
input
,id
которого равен"userPass"
- кнопка входа
button
,id
которой равен"se_userLogin"
Соответственно обратиться к каждому элементу мы сможем следующим способом:
var loginInput = document.querySelector("input#userEmail"); var passInput = document.querySelector("input#userPass"); var button = document.querySelector("button#se_userLogin");
Но для начала напишем небольшую функцию, которая будет возвращать текст из нужной строки комментариев к сессии:
// Функция вернёт строку из комментариев к сессии с нужным номером async function getCommentsFromLineAsync(line) { // Получаем комментарии к сессии var comments = await spyBrowser.session.getCommentsAsync(); // Разбиваем комментарии на массив строк, каждый элемент массива - отдельная строка var array = comments.split("\r\n"); // Если кол-во строк недостаточное - возвращаем пустую строку if (array.length < (line - 1)) return ""; // Возвращаем строку с нужным номером return array[line]; }
Далее формируем весь исходный код скрипта авторизации, выглядеть он будет следующим образом:
spyBrowser.events.on("scriptLoadComplete", async function () { // Функция вернёт строку из комментариев к сессии с нужным номером async function getCommentsFromLineAsync(line) { // Получаем комментарии к сессии var comments = await spyBrowser.session.getCommentsAsync(); // Разбиваем комментарии на массив строк, каждый элемент массива - отдельная строка var array = comments.split("\r\n"); // Если кол-во строк недостаточное - возвращаем пустую строку if (array.length < (line - 1)) return ""; // Возвращаем строку с нужным номером return array[line]; } // Далее непосредственно сама авторизация // Находим поле ввода логина var loginInput = document.querySelector("input#userEmail"); // Если не нашли поле - завершаем работу скрипта if (loginInput == null) { spyBrowser.script.exit(); return; } // Вводим наш логин loginInput.value = await getCommentsFromLineAsync(0); // Находим поле ввода пароля var passInput = document.querySelector("input#userPass"); // Если не нашли поле - завершаем работу скрипта if (passInput == null) { spyBrowser.script.exit(); return; } // Вводим наш пароль passInput.value = await getCommentsFromLineAsync(1); // Находим кнопку "Войти" var button = document.querySelector("button#se_userLogin"); // Если не нашли кнопку - завершаем работу скрипта if (button == null) { spyBrowser.script.exit(); return; } // Кликаем по кнопке "Войти" button.click(); // Сообщаем программе о том, что скрипт выполнил свою задачу spyBrowser.script.exit(); });
Наш скрипт, после добавления в программу:

В поле «Сайт (домен)» мы указали — olx.ua
, в поле «Название» — Авторизация
, «Описание» заполняем по своему усмотрению.
Проверяем скрипт, в комментарии первой строкой пишем наш логин от аккаунта, второй строкой пароль, запускаем скрипт:
Как видим скрипт со своей задачей справился, теперь нам не нужно думать о том, где хранить свои логины/пароли и как их вводить в программу каждый раз при входе на сайт. Данный скрипт мы можем адаптировать почти под любой сайт.