Автоматизация работы в интернете

WMR: R4103757818**

ЯД: 4100120693220**

QIWI: +792772681**

Реквизиты указаны не полностью. Для получения полных платёжных реквизитов и совершения прямого платежа напишите в техподдержку.


SKYPE: samara-weblab.ru

E-MAIL: vldkasat@mail.ru

Техническая поддержка осуществляется по будням с 10:00 до 20:00 по МСК. В выходные и праздничные дни - график свободный.

spyBrowser.session — управление текущей сессией

Управление группой сессии

Для получения/изменения информации по группе в 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");
Для получения информации по методу document.querySelector обратитесь к документации/спецификации по JavaScript.

Но для начала напишем небольшую функцию, которая будет возвращать текст из нужной строки комментариев к сессии:

// Функция вернёт строку из комментариев к сессии с нужным номером
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, в поле «Название»Авторизация, «Описание» заполняем по своему усмотрению.

Проверяем скрипт, в комментарии первой строкой пишем наш логин от аккаунта, второй строкой пароль, запускаем скрипт:



Как видим скрипт со своей задачей справился, теперь нам не нужно думать о том, где хранить свои логины/пароли и как их вводить в программу каждый раз при входе на сайт. Данный скрипт мы можем адаптировать почти под любой сайт.

Управление юзерагентом

Для смены юзерагента текущей сессии в API программы реализованы следующие методы:

  • spyBrowser.session.userAgent.setDefaultAsync() — установка юзерагента «по умолчанию» (который задан в общих настройках программы)
  • spyBrowser.session.userAgent.setRandomAsync() — установка случайного юзерагента из общего списка юзерагентов программы
  • spyBrowser.session.userAgent.setNextAsync() — установка следующего за текущим юзерагентом в общем списке программы

Пример кода скрипта для смены юзерагента текущей сессии:

spyBrowser.events.on("scriptLoadComplete", async function () {

	// Вызываем событие mainWindowLoadComplete
	spyBrowser.events.emit("mainWindowLoadComplete");

});

spyBrowser.events.on("mainWindowLoadComplete", async function () {

	// Пауза 5 секунд
	await spyBrowser.script.sleepAsync(5000);

	// Устанавливаем случайный юзерагент
	await spyBrowser.session.userAgent.setRandomAsync();

	// Переходим по адресу https://whoer.net/ru
	window.location.assign("https://whoer.net/ru");

});
Для получения информации по методу window.location.assign обратитесь к документации/спецификации по JavaScript.

Управление прокси-сервером

Для смены прокси-сервера текущей сессии в API программы реализованы следующие методы:

  • spyBrowser.session.proxy.setDefaultAsync() — отключение прокси (доступ к сети будет осуществляться с прямого/реального IP-адреса)
  • spyBrowser.session.proxy.setRandomAsync() — установка случайного прокси-сервера из общего списка прокси-серверов программы
  • spyBrowser.session.proxy.setNextAsync() — установка следующего за текущим прокси-сервером в общем списке программы

Пример кода скрипта для смены прокси-сервера текущей сессии:

spyBrowser.events.on("scriptLoadComplete", async function () {

	// Вызываем событие mainWindowLoadComplete
	spyBrowser.events.emit("mainWindowLoadComplete");

});

spyBrowser.events.on("mainWindowLoadComplete", async function () {

	// Пауза 5 секунд
	await spyBrowser.script.sleepAsync(5000);

	// Устанавливаем случайный прокси-сервер
	await spyBrowser.session.proxy.setRandomAsync();

	// Переходим по адресу https://yandex.ru/internet/
	window.location.assign("https://yandex.ru/internet/");

});
Для получения информации по методу window.location.assign обратитесь к документации/спецификации по JavaScript.