Изолированные браузеры в закладках Human Emulator Studio.

Изолированные браузеры в закладках Human Emulator Studio

В версии Human Emulator Studio 7.0.11 была добавлена настройка «Изолированные Браузеры в закладках». Это новый режим работы программы, в котором каждая закладка программы представляет из себя отдельный браузер с возможностью настройки всех параметров.

Как работает режим «Изолированные Браузеры в закладках»?

Каждая открытая закладка встроенного в программу браузера в этом режиме представляет из себя отдельный изолированный браузер. Каждый такой браузер имеет свои папки куков и кэша, а также свои настройки. Таким образом можно задавать свои:

  • прокси
  • юзер агент
  • разрешение экрана
  • язык браузера
  • accept language
  • accept
  • accept encoding
  • time zone
  • navigator.platform
  • navigator.cpuClass
  • referer
  • appName
  • appCodeName
  • appMinorVersion
  • product
  • productSub
  • maxTouchPoints
  • onTouchStart
  • Canvas finger print
  • WebGL finger print
  • hardwareConcurrency
  • deviceMemory
  • pluginsInfo
  • и т.д.

в каждую закладку. При этом при открытии ссылки в новом окне для этого окна настройки берутся от той закладки с которой было сделано открытие.

Профиль закладок.

диалог просмотра профиля текущей закладки
диалог просмотра профиля текущей закладки

В версии 7.0.13 был добавлен диалог просмотра профиля текущей закладки. С помощью этого диалога можно настроить уникальный профиль для каждой закладки. Можно сохранять профили или применять их к другим закладкам. Это позволяет работать с настройками каждой закладки не используя команды.

Переменная XHEBaseObject::server_tab.

Также в версии 7.0.13 была добавлена переменная server_tab. При использовании этой переменной вы можете задать в скрипте, в какой именно закладке должен он выполняться. Ранее для выполнения нужного кода скрипта в заданной закладке использовалась только функция set_active_browser. Появление Изолированных браузеров в закладках дало возможность работать из одного скрипта сразу с несколькими закладками, а после добавления XHEBaseObject::server_tab стало реально работать с одним экземпляром программы во многопоточном режиме.

Работа с закладками с помощью функции set_active_browser.

Для добавления новой закладки используется команда $browser->add_tab, а с помощью команды $browser->set_count можно добавить сразу несколько закладок. Для выполнения нужного кода в заданной закладке используется команда $browser->set_active_browser.

Пример использования закладок для параллельной работы из скрипта:

Теперь адаптируем наш пример под отправку писем из разных почтовых аккаунтов. Предположим что у нас есть файл с логинами и паролями для нескольких почтовых ящиков, с которых нам надо отправить письма разным адресатам. Все действия в каждом почтовом ящике будут одинаковые, поэтому мы можем запросто использовать для решения такой задачи изолированные закладки. Работа через изолированные закладки поможет нам сэкономить на времени навигации. В итоге скрипт будет выглядеть таким вот образом:

Можно каждый шаг скрипта такой как — авторизация, заполнение полей в форме, отправка письма и т.д. делать в одном цикле сразу или по аналогии сделать цикл для каждого шага. Целесообразность разбивания на такие шаги будет зависеть от скорости загрузки страницы после каждого шага. Логика тут простая, если после авторизации например уходит несколько секунд на перезагрузку страницы, то лучше эти несколько секунд потратить на авторизацию в следующей закладке. Особенно актуален такой подход будет на тяжелых сайтах, где после каждого вашего действия выполняется какой нибудь java script.

Работа через XHEBaseObject::server_tab.

Для того что бы запускать один скрипт в несколько потоков в одном экземпляре программы надо использовать переменную XHEBaseObject::server_tab. Так как скрипты будут запускаться из командной строки мы можем использовать один скрипт для всех закладок подставляя номер закладки через параметр, который мы получаем из командной строки с помощью конструкции $argv[1]. Наш скрипт который будет работать в каждой закладке будет выглядеть примерно так:

Примечание: Порт в скрипте должен соответствовать тому порту на котором запущен Хуман Эмулятор, а также должен быть верным путь к папке с шаблонами указанный  в скрипте.

Этот скрипт мы будем запускать из bat файла. Запуск одного скрипта будет вглядеть так:

«C:\XWeb Studio\Human Emulator Studio\PHP\php.exe» «C:\XWeb Studio\Human Emulator Studio\My Scripts\4.php» 0 — то есть «путь к рhр» «путь к скрипту» «номер закладки».

Создавать и запускать такой bat файл можно с помощью скрипта в Хуман Эмулятор :

С помощью этого скрипта мы создаём bat файл для запуска скрипта 4.php в 5 потоков(закладок). Данный метод подойдёт для запуска не сложных скриптов. Обсудить или задать вопросы по изолированным браузерам в закладках можно на нашем форуме.


Добавить комментарий

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.