Browsers built into Human Emulator Studio.

Browsers built into Human Emulator Studio.

All automation actions that are specified using commands in scripts are performed in the browser built into the program. The main browser in Human Emulator Studio is Chromium. It was on the basis of this browser that the first version of the program was made. Later, other browsers were added to the program, and currently the following browsers Chromium, Chromium (Compact), Chromium (Offscreen), Firefox (beta) and Chrome Selenium WebDriver (alpha) were built into the program.

The browser model can be selected using the settings dialog, the Browser tab, the Browser Model drop-down list.

or using the command of object browser set_model

php usage example:

options:

  • Chromium
  • Chromium (Compact)
  • Chromium (Offscreen)
  • Firefox
  • Chrome Selenium WebDriver

The same options can be used when working with the program through the command line in the command line parameter /browser: “XXX”.

Chromium Browser.

The Chromium browser is an open source project that allows its source code to be used in other products, which is why many browser applications and browsers use Chromium as the basis. This also applies to the Human Emulator Studio program, as well as browsers such as Google Chrome, Yandex.Browser, the latest versions of the Opera browser, the new Internet Explorer, etc. The differences between these browsers from each other is only in their additional functions added to the Chromium browser.

Chromium updates come out quite often, and as soon as a new stable version of Chromium appears, our developers implement it in the program, so in the latest versions of Human Emulator Studio, as a rule, the last stable Chromium is introduced. You can view the current version of the program by going to the chrome://version/ information page in the program.

Chromium (Compact).

From the version of Human Emulator Studio 7.0.47, the Chromium (Compact) browser model has been added. This is the same Chromium browser operating in a special mode in which the browser consumes less RAM, but loads a little more CPU. This is achieved through the use of WPF, which is based on a vector visualization system that does not depend on the resolution of the output device and is created taking into account the capabilities of modern graphics equipment. The graphic technology underlying WPF is DirectX.

Chromium (Offscreen).

From the version of Human Emulator Studio 7.0.48, the Chromium (Offscreen) browser model has been added. This is the same Chromium browser working in a special mode in which the browser does not draw the pages that are opened. That is, you simply will not see the page, although the program itself will work with it without problems.

In this mode, the browser works faster and consumes less memory, since it does not render anything on the real screen, including huge pictures by weight and other heavy elements. When working in this mode, there are restrictions on the use of a real mouse and keyboard; they do not work on a hidden browser. You can also take screenshots of only the visible part of the browser, but this can be easily solved by setting the size of the browser. Otherwise, there are no restrictions when working in this mode.

These two Chromium models were added to the program to optimize memory handling.

Firefox Browser.

Since version Human Emulator Studio 7.0.44, the Firefox browser has been added to the program. This is a free browser on the Gecko engine, developed and distributed by Mozilla Corporation. This browser is currently in beta mode. This means that almost all the functionality existing in the program is supported by this browser and it can be used to automate your tasks on a par with other browser models available in the program.

To work in this browser, select it in the program settings. The number of the built-in version can be viewed by going to the about: config page in the program browser and finding the fields containing the version word.

Chrome Selenium WebDriver Browser.

Since Human Emulator Studio 7.0.44 in alpha mode, an experimental model of the Chrome Selenium WebDriver browser has been added. Essentially, it’s controlling the Chrome browser installed on your computer using Selenium WebDriver. This browser model currently supports only the basic functionality of the program.

Selenium WebDriver is the software library of the Selenium project, with which you can control the behavior of the browser. This project is mainly used for testing sites or online services and their individual elements. Working in this mode does not guarantee anonymity, but since WebDriver works with real Chrome, it can help to solve some problems that for some reason do not work in other browsers built into the program.

When working in this mode, a separate Chrome browser window is launched, in which all actions are performed. In this case, Human Emulator Studio broadcasts this window.

In this browser, you can use program tools such as the Element Inspector and the Elements Tree to work with the HTML elements of the page open in the browser.

To exit this mode, you need to select a different browser model in the program settings.

To discuss on the forum

Anonymity in Human Emulator Studio. Managing embedded browser information.

Anonymity in Human Emulator Studio. Managing embedded browser information.

Human Emulator Studio has the ability to change a wide range of settings. All browser settings and other commands for managing the browser can be found in the documentation for the object – browser. This article will talk specifically about changing those settings that contain information about the browser.

Browser sizes.

The width and height of the browser are set using the commands set_width and set_height of the object browser.

php example:

The scale of the browser.

You can set the browser scale using command set_zoom of the object browser.

php example:

Screen resolution and color depth.

Screen resolution and bit rate are set by one command of the object browser set_screen_resolution. Defines navigator: (width, height, pixelDepth) and their duplicates (availWidth, availHeight, colorDepth).

php example:

Useragent string.

To set the Useragent string or the so-called browser identifier, the object browser command set_user_agent is used. Together with the browser identifier, you must fill in the following navigator parameters (window.navigator): appVersion, appName, appCodeName, language (s), platform, product, productsub.

php example:

Information about the plugins.

Substitution of the list of plugins preinstalled in your browser is carried out using command set_plugins_info of the object browser.

Obtaining this information is included in the so-called browser fingerprints. Using this technology, the site owner can get your unique profile as a user and then determine all your subsequent visits and actions. We’ll talk about browser fingerprints in a separate article.

The list of plugins is given as a string:

«[{ name : ‘plugin name 1’, description : ‘plugin description 1’, filename : ‘plugin file 1’, version : ‘plugin version 1’ },
{ name : ‘plugin name 2’, description : ‘plugin description 2’, filename : ‘plugin file 2’, version : ‘plugin version 2’ },
{ name : ‘plugin name 3’, description : ‘plugin description 3’, filename : ‘plugin file 3’, version : ‘plugin version 3’ },
{ и т.д.}]»

From version 7.0.41, you can also specify a Mime list for plugins. Set as a string:

«[{type: ‘type’, suffixes: ‘suffixe’, description: ‘description’, __pluginName: ‘ plugin name 1′ },
{type: ‘type’, suffixes: ‘suffixe’, description: ‘description’, __pluginName: ‘ plugin name 2′ }
{type: ‘type’, suffixes: ‘suffixe’, description: ‘description’, __pluginName: ‘ plugin name 3′ }
{type: ‘type’, suffixes: ‘suffixe’, description: ‘description’, __pluginName: ‘ plugin name 3′ } ]»

php example:

You can view information on a real plug-in by installing them in the Chrome browser, and then through the Developer Tools (press F12) go to the console and there enter “navigator.plugins“. Information on the plugins appears as follows:

Hardware Information.

To set the parameters navigator hardwareConcurrency – the number of processors (threads) that are available to the browser and deviceMemory – the number of gigabytes of memory that are available to the browser using the object browser command set_hardware_info.

Also, from version 7.0.42, this command can also be used to set the devicePixelRatio parameter. DevicePixelRatio returns the ratio of resolution in physical pixels to resolution in CSS pixels for the current display device. This value can also be interpreted as the ratio of pixel sizes: the size of one CSS pixel to the size of one physical pixel. Simply put, this tells the browser how many actual pixels on the screen should be used to draw one pixel of CSS.

The parameter depends on the device: for ordinary displays it is 1, but there can be 2 and 1.5

php example:

Do Not Track (DNT).

This is the proposed HTTP header field, designed to allow Internet users to opt out of web site tracking, which includes collecting data about user activity in several different contexts, as well as storing, using or sharing data received from this activity outside the context in which it occurred.

To set this flag, use the object browser command set_do_not_track.

php example:

Touch screen.

You can set data about the used touch screen using the object browser command set_touch_info. The command changes the parameters of navigator.maxTouchPoints – the maximum number of simultaneous touch contacts and window.ontouchstart – whether touch events are enabled.

php example:

discuss the article on the forum

Record video in the Human Emulator

Record video in the Human Emulator Studio.

In the version of Human Emulator Studio 7.0.38, several interesting commands appeared that we would like to draw the attention of users to.

These are the start_video_record and stop_video_record commands added to two objects – windows and browser. Commands added to the object – windows – record video from a given area of the screen, commands added to the object – browser record video from a specified area of the browser.

How it works?

When you start recording video, the program performs the specified number of screenshots-frames per second with the specified quality, after which a file is created with the recording in avi format.

Description of the commands.

The start_video_record command accepts the following parameters:

path – full or relative path to the video file.
fps – is the number of frames per second. So with fps = 10, 10 frames per second will be done, and with fps = 30, 30 frames per second or 1 frame in 33 milliseconds. The optimal FPS value will depend on how quickly actions take place in the recorded area. To record normal browsing, fps = 10 will be enough. Default: 10.
quality – JPEG image quality. Maximum quality 100%. Image quality is understood as the amount of useful data that JPEG can save. Default: 70.
x – X coordinate of the upper left corner of the recorded area. Default: -1.
y – Y coordinate of the upper left corner of the recorded area. Default: -1.
width – the width of the recorded area. Default: -1.
height – the height of the recorded area. Default: -1.

With x = -1, y = -1, width = -1, height = -1 – the entire area of the screen or the built-in browser is recorded.

The stop_video_record command does not require any parameters. After calling this command, a record avi file will be created.

An example of use in php.

An example of a video recorded using start_video_record commands.